diff options
| author | Jan Tuomi <jan.tuomi@valuemotive.com> | 2022-09-23 10:38:03 +0300 |
|---|---|---|
| committer | Jan Tuomi <jans.tuomi@gmail.com> | 2022-12-05 14:21:52 +0200 |
| commit | fd39958d20554fdc19611c5f23d32c8493ad655e (patch) | |
| tree | 4ce19fa2e89e106e58f207029942cb427ba7e779 /app | |
| parent | 12ac2354ffca7a221cb4535354eb86907bfceea7 (diff) | |
Add exceptions, global config
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 () |
