Safe Haskell | None |
---|
- subparser :: Mod CommandFields a a b -> Parser b
- argument :: (String -> Maybe a) -> Mod f a a b -> Parser b
- arguments :: (String -> Maybe a) -> Mod f a [a] b -> Parser b
- flag :: a -> a -> Mod FlagFields a a b -> Parser b
- switch :: Mod FlagFields Bool Bool a -> Parser a
- nullOption :: Mod OptionFields a a b -> Parser b
- strOption :: Mod OptionFields String String a -> Parser a
- option :: Read a => Mod OptionFields a a b -> Parser b
- short :: HasName f => Char -> Mod f r a a
- long :: HasName f => String -> Mod f r a a
- help :: String -> Mod f r a a
- value :: a -> Mod f r a a
- metavar :: String -> Mod f r a a
- reader :: (String -> Maybe r) -> Mod OptionFields r a a
- hide :: Mod f r a a
- multi :: Mod f r a [a]
- transform :: (a -> b) -> Mod f r a b
- command :: String -> ParserInfo r -> Mod CommandFields r a a
- idm :: Category hom => hom a a
- (&) :: Category hom => hom a b -> hom b c -> hom a c
- auto :: Read a => String -> Maybe a
- str :: String -> Maybe String
- disabled :: String -> Maybe a
- data Mod f r a b
- class HasName f
- data OptionFields a
- data FlagFields a
- data CommandFields a
- data InfoMod a b
- fullDesc :: InfoMod a a
- header :: String -> InfoMod a a
- progDesc :: String -> InfoMod a a
- footer :: String -> InfoMod a a
- failureCode :: Int -> InfoMod a a
- info :: Parser a -> InfoMod a a -> ParserInfo a
Parser builders
This module contains utility functions and combinators to create parsers for individual options.
Each parser builder takes an option modifier, which can be specified by
composing basic modifiers using &
and idm
(which are just convenient
synonyms for the Category
operations >>>
and
id
).
For example:
out = strOption ( long "output" & short 'o' & metavar "FILENAME" )
creates a parser for an option called "output".
subparser :: Mod CommandFields a a b -> Parser bSource
Builder for a command parser. The command
modifier can be used to
specify individual commands.
arguments :: (String -> Maybe a) -> Mod f a [a] b -> Parser bSource
Builder for an argument list parser. All arguments are collected and returned as a list.
:: a | default value |
-> a | active value |
-> Mod FlagFields a a b | option modifier |
-> Parser b |
Builder for a flag parser.
A flag that switches from a "default value" to an "active value" when
encountered. For a simple boolean value, use switch
instead.
switch :: Mod FlagFields Bool Bool a -> Parser aSource
Builder for a boolean flag.
switch = flag False True
nullOption :: Mod OptionFields a a b -> Parser bSource
Builder for an option with a null reader. A non-trivial reader can be
added using the reader
modifier.
strOption :: Mod OptionFields String String a -> Parser aSource
Builder for an option taking a String
argument.
option :: Read a => Mod OptionFields a a b -> Parser bSource
Builder for an option using the auto
reader.
Modifiers
transform :: (a -> b) -> Mod f r a bSource
Apply a transformation to the return value of this option.
This can be used, for example, to provide a default value for a required option, like:
strOption ( transform Just , value Nothing )
command :: String -> ParserInfo r -> Mod CommandFields r a aSource
Add a command to a subparser option.
Readers
A collection of basic option readers.
Internals
data FlagFields a Source
data CommandFields a Source
Builder for ParserInfo
failureCode :: Int -> InfoMod a aSource
Specify an exit code if a parse error occurs.
info :: Parser a -> InfoMod a a -> ParserInfo aSource
Create a ParserInfo
given a Parser
and a modifier.