optparse-applicative-0.13.2.0: Utilities and combinators for parsing command line options

Safe HaskellSafe
LanguageHaskell98

Options.Applicative.Types

Synopsis

Documentation

data ParserInfo a #

A full description for a runnable Parser for a program.

Constructors

ParserInfo 

Fields

Instances

Functor ParserInfo # 

Methods

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

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

data ParserPrefs #

Global preferences for a top-level Parser.

Constructors

ParserPrefs 

Fields

data Option a #

A single option of a parser.

Constructors

Option 

Fields

Instances

Functor Option # 

Methods

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

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

Show (Option a) # 

Methods

showsPrec :: Int -> Option a -> ShowS #

show :: Option a -> String #

showList :: [Option a] -> ShowS #

data OptReader a #

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

Constructors

OptReader [OptName] (CReader a) ParseError

option reader

FlagReader [OptName] !a

flag reader

ArgReader (CReader a)

argument reader

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

command reader

Instances

Functor OptReader # 

Methods

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

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

data OptProperties #

Specification for an individual parser option.

Constructors

OptProperties 

Fields

data OptVisibility #

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

newtype ReadM a #

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

Constructors

ReadM 

Instances

Monad ReadM # 

Methods

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

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

return :: a -> ReadM a #

fail :: String -> ReadM a #

Functor ReadM # 

Methods

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

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

Applicative ReadM # 

Methods

pure :: a -> ReadM a #

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

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

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

Alternative ReadM # 

Methods

empty :: ReadM a #

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

some :: ReadM a -> ReadM [a] #

many :: ReadM a -> ReadM [a] #

MonadPlus ReadM # 

Methods

mzero :: ReadM a #

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

readerAsk :: ReadM String #

Return the value being read.

readerAbort :: ParseError -> ReadM a #

Abort option reader by exiting with a ParseError.

readerError :: String -> ReadM a #

Abort option reader by exiting with an error message.

data CReader a #

Constructors

CReader 

Instances

Functor CReader # 

Methods

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

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

data Parser a #

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

Constructors

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

Instances

Functor Parser # 

Methods

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

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

Applicative Parser # 

Methods

pure :: a -> Parser a #

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

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

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

Alternative Parser # 

Methods

empty :: Parser a #

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

some :: Parser a -> Parser [a] #

many :: Parser a -> Parser [a] #

newtype ParserM r #

Constructors

ParserM 

Fields

Instances

Monad ParserM # 

Methods

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

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

return :: a -> ParserM a #

fail :: String -> ParserM a #

Functor ParserM # 

Methods

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

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

Applicative ParserM # 

Methods

pure :: a -> ParserM a #

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

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

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

newtype Completer #

Constructors

Completer 

Fields

newtype ParserFailure h #

Constructors

ParserFailure 

Fields

Instances

type Args = [String] #

data ArgPolicy #

Policy for how to handle options within the parse

Constructors

SkipOpts

Inputs beginning with - or `--` are treated as options or flags, and can be mixed with arguments.

AllowOpts

All input is treated as positional arguments. Used after a bare `--` input, and also with noIntersperse policy.

data OptTree a #

Constructors

Leaf a 
MultNode [OptTree a] 
AltNode [OptTree a] 

Instances

Show a => Show (OptTree a) # 

Methods

showsPrec :: Int -> OptTree a -> ShowS #

show :: OptTree a -> String #

showList :: [OptTree a] -> ShowS #

data SomeParser #

Constructors

SomeParser (Parser a) 

data Context #

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

Context String (ParserInfo a) 

data IsCmdStart #

Constructors

CmdStart 
CmdCont 

fromM :: ParserM a -> Parser a #

oneM :: Parser a -> ParserM a #

manyM :: Parser a -> ParserM [a] #

someM :: Parser a -> ParserM [a] #