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