ANNOUNCE: options, an easy-to-use command-line option parser

Hackage: http://hackage.haskell.org/package/options Home page: https://john-millikin.com/software/haskell-options/ API reference: https://john-millikin.com/software/haskell-options/reference/haskell-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. ----------------------------------------------------------
participants (1)
-
John Millikin