on master help sign in
Rename the REPL's Haskeline uses to make them obviously REPL-specific
cc80288David Christiansen
src/Idris/Completion.hs+6−6
@@ -1,4 +1,4 @@
1−module Idris.Completion (idrisCompletion) where
1+module Idris.Completion (replCompletion) where
2
2
3import Core.Evaluate (ctxtAlist)
3import Core.Evaluate (ctxtAlist)
4import Core.TT
4import Core.TT
@@ -98,8 +98,8 @@ completeCmd cmd (prev, next) = fromMaybe completeCmdName (fmap completeArg $ loo
98 completeArg ExprArg = completeExpr (prev, next)
98 completeArg ExprArg = completeExpr (prev, next)
99 completeCmdName = return $ ("", completeWith commands cmd)
99 completeCmdName = return $ ("", completeWith commands cmd)
100
100
101−idrisCompletion :: CompletionFunc (StateT IState IO)
101+replCompletion :: CompletionFunc (StateT IState IO)
102−idrisCompletion (prev, next) = case firstWord of
102+replCompletion (prev, next) = case firstWord of
103− ':':cmdName -> completeCmd (':':cmdName) (prev, next)
103+ ':':cmdName -> completeCmd (':':cmdName) (prev, next)
104− _ -> completeExpr (prev, next)
104+ _ -> completeExpr (prev, next)
105− where (firstWord, remainder) = break isWhitespace $ dropWhile isWhitespace $ reverse prev
105+ where firstWord = fst $ break isWhitespace $ dropWhile isWhitespace $ reverse prev
src/Idris/REPL.hs+3−5
@@ -491,15 +491,13 @@ help =
491 ]
491 ]
492
492
493
493
494−haskelineSettings :: Settings (StateT IState IO)
494+replSettings :: Settings (StateT IState IO)
495−haskelineSettings = setComplete idrisCompletion defaultSettings
495+replSettings = setComplete replCompletion defaultSettings
496
496
497-- invoke as if from command line
497-- invoke as if from command line
498idris :: [Opt] -> IO IState
498idris :: [Opt] -> IO IState
499idris opts = execStateT (idrisMain opts) idrisInit
499idris opts = execStateT (idrisMain opts) idrisInit
500
500
501−--runInputT haskelineSettings $ execStateT (idrisMain opts) idrisInit
502−
503idrisMain :: [Opt] -> Idris ()
501idrisMain :: [Opt] -> Idris ()
504idrisMain opts =
502idrisMain opts =
505 do let inputs = opt getFile opts
503 do let inputs = opt getFile opts
@@ -553,7 +551,7 @@ idrisMain opts =
553 when ok $ case newoutput of
551 when ok $ case newoutput of
554 [] -> return ()
552 [] -> return ()
555 (o:_) -> process "" (NewCompile o)
553 (o:_) -> process "" (NewCompile o)
556− when runrepl $ runInputT haskelineSettings $ repl ist inputs
554+ when runrepl $ runInputT replSettings $ repl ist inputs
557 ok <- noErrors
555 ok <- noErrors
558 when (not ok) $ liftIO (exitWith (ExitFailure 1))
556 when (not ok) $ liftIO (exitWith (ExitFailure 1))
559 where
557 where