options-0.1.1: Parsing command-line options
The options package lets library and application developers easily work
with command-line options.
The following example is a full program that can accept two options,
--message and --quiet:
{-# LANGUAGE TemplateHaskell #-}
import Options
defineOptions "MainOptions" $ do
stringOption "optMessage" "message" "Hello world!"
"A message to show the user."
boolOption "optQuiet" "quiet" False
"Whether to be quiet."
main :: IO ()
main = runCommand $ \opts args -> do
if optQuiet opts
then return ()
else putStrLn (optMessage opts)
$ ./hello Hello world! $ ./hello --message='ciao mondo' ciao mondo $ ./hello --quiet $
In addition, this library will automatically create documentation options
such as --help and --help-all:
$ ./hello --help Help Options: -h, --help Show option summary. --help-all Show all help options. Application Options: --message A message to show the user. --quiet Whether to be quiet.
Modules