on master help sign in
Fix :search parser

It wasn't working on (a, b) -> a, because it though (a, b) was a list of packages.

commite3dcb113dd518f8594f77407f8440f923313e72d authorEdwin Brady <ecb10@st-andrews.ac.uk> dateSun 28 Jun 2015, 15:04 (11 years ago) parent6370744
1 file changed+8−8
src/Idris/REPLParser.hs+8−8
src/Idris/REPLParser.hs+8−8
@@ -457,14 +457,14 @@ cmd_apropos = packageBasedCmd (some idChar) Apropos
457457
458458packageBasedCmd :: P.IdrisParser a -> ([String] -> a -> Command)
459459 -> String -> P.IdrisParser (Either String Command)
460−packageBasedCmd valParser cmd name = do
461− pkgs <- option [] . try $ do
462− P.lchar '('
463− pks <- sepBy (some idChar) (P.lchar ',')
464− P.lchar ')'
465− return pks
466− val <- valParser
467− return (Right (cmd pkgs val))
460+packageBasedCmd valParser cmd name =
461+ try (do P.lchar '('
462+ pkgs <- sepBy (some idChar) (P.lchar ',')
463+ P.lchar ')'
464+ val <- valParser
465+ return (Right (cmd pkgs val)))
466+ <|> do val <- valParser
467+ return (Right (cmd [] val))
468468
469469cmd_search :: String -> P.IdrisParser (Either String Command)
470470cmd_search = packageBasedCmd