| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell98 |
Options.Applicative.Extra
Contents
- helper :: Parser (a -> a)
- hsubparser :: Mod CommandFields a -> Parser a
- execParser :: ParserInfo a -> IO a
- execParserMaybe :: ParserInfo a -> [String] -> Maybe a
- customExecParser :: ParserPrefs -> ParserInfo a -> IO a
- customExecParserMaybe :: ParserPrefs -> ParserInfo a -> [String] -> Maybe a
- execParserPure :: ParserPrefs -> ParserInfo a -> [String] -> ParserResult a
- getParseResult :: ParserResult a -> Maybe a
- handleParseResult :: ParserResult a -> IO a
- parserFailure :: ParserPrefs -> ParserInfo a -> ParseError -> Context -> ParserFailure ParserHelp
- renderFailure :: ParserFailure ParserHelp -> String -> (String, ExitCode)
- newtype ParserFailure h = ParserFailure {
- execFailure :: String -> (h, ExitCode, Int)
- overFailure :: (ParserHelp -> ParserHelp) -> ParserResult a -> ParserResult a
- data ParserResult a
- data ParserPrefs = ParserPrefs {}
- newtype CompletionResult = CompletionResult {
- execCompletion :: String -> IO String
Extra parser utilities
This module contains high-level functions to run parsers.
hsubparser :: Mod CommandFields a -> Parser a Source
execParser :: ParserInfo a -> IO a Source
Run a program description.
Parse command line arguments. Display help text and exit if any parse error occurs.
execParserMaybe :: ParserInfo a -> [String] -> Maybe a Source
Deprecated: Use execParserPure together with getParseResult instead
Run a program description in pure code.
This function behaves like execParser, but can be called from pure code.
Note that, in case of errors, no message is displayed, and this function
simply returns Nothing.
If you need to keep track of error messages, use execParserPure instead.
customExecParser :: ParserPrefs -> ParserInfo a -> IO a Source
Run a program description with custom preferences.
customExecParserMaybe :: ParserPrefs -> ParserInfo a -> [String] -> Maybe a Source
Deprecated: Use execParserPure together with getParseResult instead
Run a program description with custom preferences in pure code.
See execParserMaybe for details.
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.
handleParseResult :: ParserResult a -> IO a Source
Handle ParserResult.
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
renderFailure :: ParserFailure ParserHelp -> String -> (String, ExitCode) Source
newtype ParserFailure h Source
Constructors
| ParserFailure | |
Fields
| |
Instances
| Functor ParserFailure | |
| Show h => Show (ParserFailure h) |
overFailure :: (ParserHelp -> ParserHelp) -> ParserResult a -> ParserResult a Source
data ParserResult a Source
Result of execParserPure.
Constructors
| Success a | |
| Failure (ParserFailure ParserHelp) | |
| CompletionInvoked CompletionResult |
Instances
data ParserPrefs Source
Global preferences for a top-level Parser.
Constructors
| ParserPrefs | |
Fields
| |
newtype CompletionResult Source
Constructors
| CompletionResult | |
Fields
| |
Instances