aboutsummaryrefslogtreecommitdiff
path: root/hsm-core/Hsm
diff options
context:
space:
mode:
Diffstat (limited to 'hsm-core/Hsm')
-rw-r--r--hsm-core/Hsm/Core/App.hs9
-rw-r--r--hsm-core/Hsm/Core/Options.hs8
2 files changed, 9 insertions, 8 deletions
diff --git a/hsm-core/Hsm/Core/App.hs b/hsm-core/Hsm/Core/App.hs
new file mode 100644
index 0000000..12849d4
--- /dev/null
+++ b/hsm-core/Hsm/Core/App.hs
@@ -0,0 +1,9 @@
+module Hsm.Core.App
+ ( runApp
+ ) where
+
+import Effectful (Eff, IOE, runEff)
+import Options.Applicative (Parser, (<**>), execParser, fullDesc, helper, info, progDesc)
+
+runApp :: Parser o -> String -> (o -> Eff '[ IOE] a) -> IO a
+runApp parser desc app = execParser (info (parser <**> helper) $ fullDesc <> progDesc desc) >>= runEff . app
diff --git a/hsm-core/Hsm/Core/Options.hs b/hsm-core/Hsm/Core/Options.hs
deleted file mode 100644
index eeeee97..0000000
--- a/hsm-core/Hsm/Core/Options.hs
+++ /dev/null
@@ -1,8 +0,0 @@
-module Hsm.Core.Options
- ( getOptions
- ) where
-
-import Options.Applicative (Parser, (<**>), execParser, fullDesc, helper, info, progDesc)
-
-getOptions :: Parser a -> String -> IO a
-getOptions parser desc = execParser . info (parser <**> helper) $ fullDesc <> progDesc desc