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

Options.Applicative.Extra

Synopsis

Extra parser utilities

This module contains high-level functions to run parsers.

helper :: Parser (a -> a) Source #

A hidden "helper" option which always fails.

A common usage pattern is to apply this applicatively when creating a ParserInfo

opts :: ParserInfo Sample
opts = info (sample <**> helper) mempty

helperWith :: Mod OptionFields (a -> a) -> Parser (a -> a) Source #

Like helper, but with a minimal set of modifiers that can be extended as desired.

opts :: ParserInfo Sample
opts = info (sample <**> helperWith (mconcat [
         long "help",
         short 'h',
         help "Show this help text",
         hidden
       ])) mempty

hsubparser :: Mod CommandFields a -> Parser a Source #

Builder for a command parser with a "helper" option attached. Used in the same way as subparser , but includes a "--help|-h" inside the subcommand.

execParser :: ParserInfo a -> IO a Source #

Run a program description.

Parse command line arguments. Display help text and exit if any parse error occurs.

customExecParser :: ParserPrefs -> ParserInfo a -> IO a Source #

Run a program description with custom preferences.

execParserPure Source #

Arguments

:: ParserPrefs

Global preferences for this parser

-> ParserInfo a

Description of the program to run

-> [ String ]

Program arguments

-> ParserResult a

The most general way to run a program description in pure code.

getParseResult :: ParserResult a -> Maybe a Source #

Extract the actual result from a ParserResult value.

This function returns Nothing in case of errors. Possible error messages or completion actions are simply discarded.

If you want to display error messages and invoke completion actions appropriately, use handleParseResult instead.

parserFailure :: ParserPrefs -> ParserInfo a -> ParseError -> [ Context ] -> ParserFailure ParserHelp Source #

Generate a ParserFailure from a ParseError in a given Context .

This function can be used, for example, to show the help text for a parser:

handleParseResult . Failure $ parserFailure pprefs pinfo ShowHelpText mempty

data ParserPrefs Source #

Global preferences for a top-level Parser .

Constructors

ParserPrefs

Fields