aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CommandLineOptions.hs33
1 files changed, 33 insertions, 0 deletions
diff --git a/src/CommandLineOptions.hs b/src/CommandLineOptions.hs
new file mode 100644
index 0000000..2a1f585
--- /dev/null
+++ b/src/CommandLineOptions.hs
@@ -0,0 +1,33 @@
+module CommandLineOptions
+ ( Sample(..)
+ , getOptions
+ ) where
+
+import Options.Applicative
+
+data Sample = Sample
+ { hello :: String
+ , quiet :: Bool
+ }
+
+getOptions :: IO Sample
+getOptions =
+ execParser $ info
+ (helper <*> sample)
+ ( fullDesc
+ <> progDesc "Print a greeting for TARGET"
+ <> header "hello - a test for optparse-applicative"
+ )
+
+sample :: Parser Sample
+sample =
+ Sample
+ <$> strOption
+ ( long "name"
+ <> metavar "TARGET"
+ <> help "Target for the greeting"
+ )
+ <*> switch
+ ( long "quiet"
+ <> help "Whether to be quiet"
+ )