Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- data Parser a
- liftOpt :: Option a -> Parser a
- showOption :: OptName -> String
- data ParserInfo a = ParserInfo {
- infoParser :: Parser a
- infoFullDesc :: Bool
- infoProgDesc :: Chunk Doc
- infoHeader :: Chunk Doc
- infoFooter :: Chunk Doc
- infoFailureCode :: Int
- infoIntersperse :: Bool
- data ParserPrefs = ParserPrefs {}
- runParserInfo :: MonadP m => ParserInfo a -> Args -> m a
- runParserFully :: MonadP m => ArgPolicy -> Parser a -> Args -> m a
- runParser :: MonadP m => ArgPolicy -> Parser a -> Args -> m (a, Args)
- evalParser :: Bool -> Bool -> (forall x. OptHelpInfo -> Option x -> b) -> Parser a -> Either (OptTree b) a
- mapParser :: (forall x. OptHelpInfo -> Option x -> b) -> Parser a -> [b]
- treeMapParser :: (forall x. OptHelpInfo -> Option x -> b) -> Parser a -> OptTree b
- optionNames :: OptReader a -> [OptName]
- optDesc :: ParserPrefs -> OptDescStyle -> OptHelpInfo -> Option a -> Chunk Doc
- data OptDescStyle = OptDescStyle {
- descSep :: Doc
- descHidden :: Bool
- descSurround :: Bool
Option parsers
A Parser
is composed of a list of options. Several kinds of options
are supported:
- Flags: simple no-argument options. When a flag is encountered on the command line, its value is returned.
- Options: options with an argument. An option can define a reader, which converts its argument from String to the desired value, or throws a parse error if the argument does not validate correctly.
- Arguments: positional arguments, validated in the same way as option arguments.
- Commands. A command defines a completely independent sub-parser. When a command is encountered, the whole command line is passed to the corresponding parser.
A Parser a
is an option parser returning a value of type a
.
showOption :: OptName -> String Source
Program descriptions
data ParserInfo a Source
A full description for a runnable Parser
for a program.
ParserInfo | |
|
data ParserPrefs Source
Global preferences for a top-level Parser
.
ParserPrefs | |
|
Running parsers
runParserInfo :: MonadP m => ParserInfo a -> Args -> m a Source
runParser :: MonadP m => ArgPolicy -> Parser a -> Args -> m (a, Args) Source
Apply a Parser
to a command line, and return a result and leftover
arguments. This function returns an error if any parsing error occurs, or
if any options are missing and don't have a default value.
evalParser :: Bool -> Bool -> (forall x. OptHelpInfo -> Option x -> b) -> Parser a -> Either (OptTree b) a Source
The default value of a Parser
. This function returns an error if any of
the options don't have a default value.
Low-level utilities
mapParser :: (forall x. OptHelpInfo -> Option x -> b) -> Parser a -> [b] Source
Map a polymorphic function over all the options of a parser, and collect the results in a list.
treeMapParser :: (forall x. OptHelpInfo -> Option x -> b) -> Parser a -> OptTree b Source
Like mapParser
, but collect the results in a tree structure.
optionNames :: OptReader a -> [OptName] Source
optDesc :: ParserPrefs -> OptDescStyle -> OptHelpInfo -> Option a -> Chunk Doc Source
Generate description for a single option.
data OptDescStyle Source
Style for rendering an option.
OptDescStyle | |
|