diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/CommandLineOptions.hs | 33 |
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" + ) |