optparse-applicative-0.17.0.0: Utilities and combinators for parsing command line options
Safe Haskell Safe-Inferred
Language Haskell98

Options.Applicative.Common

Synopsis

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.

liftOpt :: Option a -> Parser a Source #

Create a parser composed of a single option.

Program descriptions

data ParserInfo a Source #

A full description for a runnable Parser for a program.

Constructors

ParserInfo

Fields

data ParserPrefs Source #

Global preferences for a top-level Parser .

Constructors

ParserPrefs

Fields

Running parsers

runParser :: MonadP m => ArgPolicy -> IsCmdStart -> 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 :: Parser a -> Maybe 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. ArgumentReachability -> 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. ArgumentReachability -> Option x -> b) -> Parser a -> OptTree b Source #

Like mapParser , but collect the results in a tree structure.