on master help sign in
Fixed wrong handling of whitespace between commands and arguments
eb241edAhmad Salim Al-Sibahi
src/Idris/REPLParser.hs+2−2
@@ -29,7 +29,7 @@ parseCmd i inputname = P.runparser pCmd i inputname
29cmd :: [String] -> P.IdrisParser ()
29cmd :: [String] -> P.IdrisParser ()
30cmd xs = try (do P.lchar ':'; docmd (sortBy (\x y -> compare (length y) (length x)) xs))
30cmd xs = try (do P.lchar ':'; docmd (sortBy (\x y -> compare (length y) (length x)) xs))
31 where docmd [] = fail "No such command"
31 where docmd [] = fail "No such command"
32− docmd (x:xs) = try (discard (P.symbol x)) <|> docmd xs
32+ docmd (x:xs) = try (discard (P.reserved x)) <|> docmd xs
33
33
34pCmd :: P.IdrisParser Command
34pCmd :: P.IdrisParser Command
35pCmd = do P.whiteSpace; do cmd ["q", "quit"]; eof; return Quit
35pCmd = do P.whiteSpace; do cmd ["q", "quit"]; eof; return Quit
@@ -77,7 +77,7 @@ pCmd = do P.whiteSpace; do cmd ["q", "quit"]; eof; return Quit
77 <|> do cmd ["set"]; o <- pOption; return (SetOpt o)
77 <|> do cmd ["set"]; o <- pOption; return (SetOpt o)
78 <|> do cmd ["unset"]; o <- pOption; return (UnsetOpt o)
78 <|> do cmd ["unset"]; o <- pOption; return (UnsetOpt o)
79 <|> do cmd ["s", "search"]; P.whiteSpace;
79 <|> do cmd ["s", "search"]; P.whiteSpace;
80− t <- P.typeExpr (defaultSyntax { implicitAllowed = True }); return (Search t)
80+ t <- P.typeExpr (defaultSyntax { implicitAllowed = True }); return (Search t)
81 <|> do cmd ["cs", "casesplit"]; P.whiteSpace;
81 <|> do cmd ["cs", "casesplit"]; P.whiteSpace;
82 upd <- option False (do P.lchar '!'; return True)
82 upd <- option False (do P.lchar '!'; return True)
83 l <- P.natural; n <- P.name;
83 l <- P.natural; n <- P.name;