diff options
Diffstat (limited to 'src/Main.hs')
-rw-r--r-- | src/Main.hs | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/Main.hs b/src/Main.hs index e6a3024..0088b7c 100644 --- a/src/Main.hs +++ b/src/Main.hs | |||
@@ -35,18 +35,16 @@ main = do | |||
35 | runCli :: (MonadIO m, MonadException m) => SequenceT m () | 35 | runCli :: (MonadIO m, MonadException m) => SequenceT m () |
36 | runCli = do | 36 | runCli = do |
37 | input <- lift $ getInputLine "→ " | 37 | input <- lift $ getInputLine "→ " |
38 | cmnd <- maybe (return $ ParseError "Trying to parse EOF") parseCmd input | ||
39 | case input of | 38 | case input of |
40 | Nothing -> liftIO exitSuccess | 39 | Nothing -> liftIO exitSuccess |
41 | Just _ -> do | 40 | Just input' -> do |
42 | case cmnd of | 41 | case parseCmd input' of |
43 | UnknownCommand cmd -> do | 42 | UnknownCommand help -> do |
44 | lift . outputStrLn $ "Unknown command: »" <> cmd <> "«" | 43 | lift . outputStrLn $ help |
45 | ParseError err -> do | 44 | ParseError err -> do |
46 | lift . outputStrLn $ "Error parsing input »" <> (fromMaybe "" input) <> "«: " <> err | 45 | lift . outputStrLn $ "Error parsing input »" <> (fromMaybe "" input) <> "«: " <> err |
47 | Empty -> return () | 46 | Empty -> return () |
48 | 47 | ||
49 | Quit -> liftIO exitSuccess | 48 | Quit -> liftIO exitSuccess |
50 | PerformAlt alt -> apply' alt | 49 | _ -> undefined |
51 | Step -> undefined | ||
52 | runCli | 50 | runCli |