optparse-applicative-0.17.1.0: Utilities and combinators for parsing command line options
Safe HaskellSafe-Inferred
LanguageHaskell98

Options.Applicative.Types

Synopsis

Documentation

data ParseError Source #

Instances

Instances details
Monoid ParseError Source # 
Instance details

Defined in Options.Applicative.Types

Semigroup ParseError Source # 
Instance details

Defined in Options.Applicative.Types

Methods

(<>) :: ParseError -> ParseError -> ParseError

sconcat :: NonEmpty ParseError -> ParseError

stimes :: Integral b => b -> ParseError -> ParseError

data ParserInfo a Source #

A full description for a runnable Parser for a program.

Constructors

ParserInfo 

Fields

Instances

Instances details
Functor ParserInfo Source # 
Instance details

Defined in Options.Applicative.Types

Methods

fmap :: (a -> b) -> ParserInfo a -> ParserInfo b

(<$) :: a -> ParserInfo b -> ParserInfo a

data ParserPrefs Source #

Global preferences for a top-level Parser.

Constructors

ParserPrefs 

Fields

  • prefMultiSuffix :: String

    metavar suffix for multiple options

  • prefDisambiguate :: Bool

    automatically disambiguate abbreviations (default: False)

  • prefShowHelpOnError :: Bool

    always show help text on parse errors (default: False)

  • prefShowHelpOnEmpty :: Bool

    show the help text for a command or subcommand if it fails with no input (default: False)

  • prefBacktrack :: Backtracking

    backtrack to parent parser when a subcommand fails (default: Backtrack)

  • prefColumns :: Int

    number of columns in the terminal, used to format the help page (default: 80)

  • prefHelpLongEquals :: Bool

    when displaying long names in usage and help, use an '=' sign for long names, rather than a single space (default: False)

  • prefHelpShowGlobal :: Bool

    when displaying subparsers' usage help, show parent options under a "global options" section (default: False)

  • prefTabulateFill :: Int

    Indentation width for tables

Instances

Instances details
Show ParserPrefs Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> ParserPrefs -> ShowS

show :: ParserPrefs -> String

showList :: [ParserPrefs] -> ShowS

Eq ParserPrefs Source # 
Instance details

Defined in Options.Applicative.Types

Methods

(==) :: ParserPrefs -> ParserPrefs -> Bool

(/=) :: ParserPrefs -> ParserPrefs -> Bool

data Option a Source #

A single option of a parser.

Constructors

Option 

Fields

Instances

Instances details
Functor Option Source # 
Instance details

Defined in Options.Applicative.Types

Methods

fmap :: (a -> b) -> Option a -> Option b

(<$) :: a -> Option b -> Option a

Show (Option a) Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> Option a -> ShowS

show :: Option a -> String

showList :: [Option a] -> ShowS

data OptName Source #

Constructors

OptShort !Char 
OptLong !String 

Instances

Instances details
Show OptName Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> OptName -> ShowS

show :: OptName -> String

showList :: [OptName] -> ShowS

Eq OptName Source # 
Instance details

Defined in Options.Applicative.Types

Methods

(==) :: OptName -> OptName -> Bool

(/=) :: OptName -> OptName -> Bool

Ord OptName Source # 
Instance details

Defined in Options.Applicative.Types

Methods

compare :: OptName -> OptName -> Ordering

(<) :: OptName -> OptName -> Bool

(<=) :: OptName -> OptName -> Bool

(>) :: OptName -> OptName -> Bool

(>=) :: OptName -> OptName -> Bool

max :: OptName -> OptName -> OptName

min :: OptName -> OptName -> OptName

data OptReader a Source #

An OptReader defines whether an option matches an command line argument.

Constructors

OptReader [OptName] (CReader a) (String -> ParseError)

option reader

FlagReader [OptName] !a

flag reader

ArgReader (CReader a)

argument reader

CmdReader (Maybe String) [String] (String -> Maybe (ParserInfo a))

command reader

Instances

Instances details
Functor OptReader Source # 
Instance details

Defined in Options.Applicative.Types

Methods

fmap :: (a -> b) -> OptReader a -> OptReader b

(<$) :: a -> OptReader b -> OptReader a

data OptProperties Source #

Specification for an individual parser option.

Constructors

OptProperties 

Fields

Instances

Instances details
Show OptProperties Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> OptProperties -> ShowS

show :: OptProperties -> String

showList :: [OptProperties] -> ShowS

data OptVisibility Source #

Visibility of an option in the help text.

Constructors

Internal

does not appear in the help text at all

Hidden

only visible in the full description

Visible

visible both in the full and brief descriptions

Instances

Instances details
Show OptVisibility Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> OptVisibility -> ShowS

show :: OptVisibility -> String

showList :: [OptVisibility] -> ShowS

Eq OptVisibility Source # 
Instance details

Defined in Options.Applicative.Types

Ord OptVisibility Source # 
Instance details

Defined in Options.Applicative.Types

data Backtracking Source #

Instances

Instances details
Show Backtracking Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> Backtracking -> ShowS

show :: Backtracking -> String

showList :: [Backtracking] -> ShowS

Eq Backtracking Source # 
Instance details

Defined in Options.Applicative.Types

Methods

(==) :: Backtracking -> Backtracking -> Bool

(/=) :: Backtracking -> Backtracking -> Bool

newtype ReadM a Source #

A newtype over 'ReaderT String Except', used by option readers.

Constructors

ReadM 

Fields

Instances

Instances details
MonadFail ReadM Source # 
Instance details

Defined in Options.Applicative.Types

Methods

fail :: String -> ReadM a

Alternative ReadM Source # 
Instance details

Defined in Options.Applicative.Types

Methods

empty :: ReadM a

(<|>) :: ReadM a -> ReadM a -> ReadM a

some :: ReadM a -> ReadM [a]

many :: ReadM a -> ReadM [a]

Applicative ReadM Source # 
Instance details

Defined in Options.Applicative.Types

Methods

pure :: a -> ReadM a

(<*>) :: ReadM (a -> b) -> ReadM a -> ReadM b

liftA2 :: (a -> b -> c) -> ReadM a -> ReadM b -> ReadM c

(*>) :: ReadM a -> ReadM b -> ReadM b

(<*) :: ReadM a -> ReadM b -> ReadM a

Functor ReadM Source # 
Instance details

Defined in Options.Applicative.Types

Methods

fmap :: (a -> b) -> ReadM a -> ReadM b

(<$) :: a -> ReadM b -> ReadM a

Monad ReadM Source # 
Instance details

Defined in Options.Applicative.Types

Methods

(>>=) :: ReadM a -> (a -> ReadM b) -> ReadM b

(>>) :: ReadM a -> ReadM b -> ReadM b

return :: a -> ReadM a

MonadPlus ReadM Source # 
Instance details

Defined in Options.Applicative.Types

Methods

mzero :: ReadM a

mplus :: ReadM a -> ReadM a -> ReadM a

readerAsk :: ReadM String Source #

Return the value being read.

readerAbort :: ParseError -> ReadM a Source #

Abort option reader by exiting with a ParseError.

readerError :: String -> ReadM a Source #

Abort option reader by exiting with an error message.

data CReader a Source #

Constructors

CReader 

Instances

Instances details
Functor CReader Source # 
Instance details

Defined in Options.Applicative.Types

Methods

fmap :: (a -> b) -> CReader a -> CReader b

(<$) :: a -> CReader b -> CReader a

data Parser a Source #

A Parser a is an option parser returning a value of type a.

Constructors

NilP (Maybe a) 
OptP (Option a) 
forall x. MultP (Parser (x -> a)) (Parser x) 
AltP (Parser a) (Parser a) 
forall x. BindP (Parser x) (x -> Parser a) 

Instances

Instances details
Alternative Parser Source # 
Instance details

Defined in Options.Applicative.Types

Methods

empty :: Parser a

(<|>) :: Parser a -> Parser a -> Parser a

some :: Parser a -> Parser [a]

many :: Parser a -> Parser [a]

Applicative Parser Source # 
Instance details

Defined in Options.Applicative.Types

Methods

pure :: a -> Parser a

(<*>) :: Parser (a -> b) -> Parser a -> Parser b

liftA2 :: (a -> b -> c) -> Parser a -> Parser b -> Parser c

(*>) :: Parser a -> Parser b -> Parser b

(<*) :: Parser a -> Parser b -> Parser a

Functor Parser Source # 
Instance details

Defined in Options.Applicative.Types

Methods

fmap :: (a -> b) -> Parser a -> Parser b

(<$) :: a -> Parser b -> Parser a

newtype ParserM r Source #

Constructors

ParserM 

Fields

Instances

Instances details
Applicative ParserM Source # 
Instance details

Defined in Options.Applicative.Types

Methods

pure :: a -> ParserM a

(<*>) :: ParserM (a -> b) -> ParserM a -> ParserM b

liftA2 :: (a -> b -> c) -> ParserM a -> ParserM b -> ParserM c

(*>) :: ParserM a -> ParserM b -> ParserM b

(<*) :: ParserM a -> ParserM b -> ParserM a

Functor ParserM Source # 
Instance details

Defined in Options.Applicative.Types

Methods

fmap :: (a -> b) -> ParserM a -> ParserM b

(<$) :: a -> ParserM b -> ParserM a

Monad ParserM Source # 
Instance details

Defined in Options.Applicative.Types

Methods

(>>=) :: ParserM a -> (a -> ParserM b) -> ParserM b

(>>) :: ParserM a -> ParserM b -> ParserM b

return :: a -> ParserM a

newtype Completer Source #

A shell complete function.

Constructors

Completer 

Fields

Instances

Instances details
Monoid Completer Source # 
Instance details

Defined in Options.Applicative.Types

Semigroup Completer Source # 
Instance details

Defined in Options.Applicative.Types

Methods

(<>) :: Completer -> Completer -> Completer

sconcat :: NonEmpty Completer -> Completer

stimes :: Integral b => b -> Completer -> Completer

mkCompleter :: (String -> IO [String]) -> Completer Source #

Smart constructor for a Completer

newtype CompletionResult Source #

Constructors

CompletionResult 

Fields

Instances

Instances details
Show CompletionResult Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> CompletionResult -> ShowS

show :: CompletionResult -> String

showList :: [CompletionResult] -> ShowS

newtype ParserFailure h Source #

Constructors

ParserFailure 

Fields

Instances

Instances details
Functor ParserFailure Source # 
Instance details

Defined in Options.Applicative.Types

Methods

fmap :: (a -> b) -> ParserFailure a -> ParserFailure b

(<$) :: a -> ParserFailure b -> ParserFailure a

Show h => Show (ParserFailure h) Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> ParserFailure h -> ShowS

show :: ParserFailure h -> String

showList :: [ParserFailure h] -> ShowS

data ParserResult a Source #

Result of execParserPure.

Instances

Instances details
Applicative ParserResult Source # 
Instance details

Defined in Options.Applicative.Types

Functor ParserResult Source # 
Instance details

Defined in Options.Applicative.Types

Methods

fmap :: (a -> b) -> ParserResult a -> ParserResult b

(<$) :: a -> ParserResult b -> ParserResult a

Monad ParserResult Source # 
Instance details

Defined in Options.Applicative.Types

Show a => Show (ParserResult a) Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> ParserResult a -> ShowS

show :: ParserResult a -> String

showList :: [ParserResult a] -> ShowS

type Args = [String] Source #

data ArgPolicy Source #

Policy for how to handle options within the parse

Constructors

Intersperse

The default policy, options and arguments can be interspersed. A `--` option can be passed to ensure all following commands are treated as arguments.

NoIntersperse

Options must all come before arguments, once a single positional argument or subcommand is parsed, all remaining arguments are treated as positionals. A `--` option can be passed if the first positional one needs starts with -.

AllPositionals

No options are parsed at all, all arguments are treated as positionals. Is the policy used after `--` is encountered.

ForwardOptions

Options and arguments can be interspersed, but if a given option is not found, it is treated as a positional argument. This is sometimes useful if one is passing through most options to another tool, but are supplying just a few of their own options.

Instances

Instances details
Show ArgPolicy Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> ArgPolicy -> ShowS

show :: ArgPolicy -> String

showList :: [ArgPolicy] -> ShowS

Eq ArgPolicy Source # 
Instance details

Defined in Options.Applicative.Types

Methods

(==) :: ArgPolicy -> ArgPolicy -> Bool

(/=) :: ArgPolicy -> ArgPolicy -> Bool

Ord ArgPolicy Source # 
Instance details

Defined in Options.Applicative.Types

Methods

compare :: ArgPolicy -> ArgPolicy -> Ordering

(<) :: ArgPolicy -> ArgPolicy -> Bool

(<=) :: ArgPolicy -> ArgPolicy -> Bool

(>) :: ArgPolicy -> ArgPolicy -> Bool

(>=) :: ArgPolicy -> ArgPolicy -> Bool

max :: ArgPolicy -> ArgPolicy -> ArgPolicy

min :: ArgPolicy -> ArgPolicy -> ArgPolicy

newtype ArgumentReachability Source #

Constructors

ArgumentReachability 

Fields

  • argumentIsUnreachable :: Bool

    If the result is a positional, if it can't be accessed in the current parser position ( first arg )

Instances

Instances details
Show ArgumentReachability Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> ArgumentReachability -> ShowS

show :: ArgumentReachability -> String

showList :: [ArgumentReachability] -> ShowS

Eq ArgumentReachability Source # 
Instance details

Defined in Options.Applicative.Types

data AltNodeType Source #

This type encapsulates whether an AltNode of an OptTree should be displayed with brackets around it.

Constructors

MarkDefault 
NoDefault 

Instances

Instances details
Show AltNodeType Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> AltNodeType -> ShowS

show :: AltNodeType -> String

showList :: [AltNodeType] -> ShowS

Eq AltNodeType Source # 
Instance details

Defined in Options.Applicative.Types

Methods

(==) :: AltNodeType -> AltNodeType -> Bool

(/=) :: AltNodeType -> AltNodeType -> Bool

data OptTree a Source #

Instances

Instances details
Show a => Show (OptTree a) Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> OptTree a -> ShowS

show :: OptTree a -> String

showList :: [OptTree a] -> ShowS

data ParserHelp Source #

Instances

Instances details
Monoid ParserHelp Source # 
Instance details

Defined in Options.Applicative.Help.Types

Semigroup ParserHelp Source # 
Instance details

Defined in Options.Applicative.Help.Types

Methods

(<>) :: ParserHelp -> ParserHelp -> ParserHelp

sconcat :: NonEmpty ParserHelp -> ParserHelp

stimes :: Integral b => b -> ParserHelp -> ParserHelp

Show ParserHelp Source # 
Instance details

Defined in Options.Applicative.Help.Types

Methods

showsPrec :: Int -> ParserHelp -> ShowS

show :: ParserHelp -> String

showList :: [ParserHelp] -> ShowS

data SomeParser Source #

Constructors

forall a. SomeParser (Parser a) 

data Context Source #

Subparser context, containing the name of the subparser and its parser info. Used by parserFailure to display relevant usage information when parsing inside a subparser fails.

Constructors

forall a. Context String (ParserInfo a) 

data IsCmdStart Source #

Constructors

CmdStart 
CmdCont 

Instances

Instances details
Show IsCmdStart Source # 
Instance details

Defined in Options.Applicative.Types

Methods

showsPrec :: Int -> IsCmdStart -> ShowS

show :: IsCmdStart -> String

showList :: [IsCmdStart] -> ShowS

optMetaVar :: Option a -> String Source #

optShowDefault :: Option a -> Maybe String Source #

optDescMod :: Option a -> Maybe (Doc -> Doc) Source #