aboutsummaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorJan Tuomi <jan.tuomi@valuemotive.com>2022-09-23 10:38:03 +0300
committerJan Tuomi <jans.tuomi@gmail.com>2022-12-05 14:21:52 +0200
commitfd39958d20554fdc19611c5f23d32c8493ad655e (patch)
tree4ce19fa2e89e106e58f207029942cb427ba7e779 /app
parent12ac2354ffca7a221cb4535354eb86907bfceea7 (diff)
Add exceptions, global config
Diffstat (limited to 'app')
-rw-r--r--app/Main.hs17
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 ()