diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/Main.hs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/app/Main.hs b/app/Main.hs index a676a18..669a66e 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -1,15 +1,10 @@ module Main (main) where import System.Environment -import Control.Monad - +import Control.Monad.Except +import Control.Monad.Reader +import Types import Lib -data Config = Config { - configScriptFileName :: Maybe String, - configVerboseMode :: Bool, - configShowHelp :: Bool -} - parseArgs :: Config -> [String] -> Config parseArgs config args = case args of @@ -40,7 +35,11 @@ main = do error "TODO help" case (configScriptFileName config) of - Just scriptFileName -> runScriptFile scriptFileName + Just scriptFileName -> do + result <- runExceptT $ runReaderT (runScriptFile scriptFileName) config + case result of + Left (LException ex) -> putStrLn $ "Error: " ++ ex + Right () -> return () Nothing -> error "TODO REPL" return () |
