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

Options.Applicative.Builder.Internal

Contents

Synopsis

Internals

data Mod f a #

An option modifier.

Option modifiers are values that represent a modification of the properties of an option.

The type parameter a is the return type of the option, while f is a record containing its properties (e.g. OptionFields for regular options, FlagFields for flags, etc...).

An option modifier consists of 3 elements:

  • A field modifier, of the form f a -> f a. These are essentially (compositions of) setters for some of the properties supported by f.
  • An optional default value and function to display it.
  • A property modifier, of the form OptProperties -> OptProperties. This is just like the field modifier, but for properties applicable to any option.

Modifiers are instances of Monoid, and can be composed as such.

One rarely needs to deal with modifiers directly, as most of the times it is sufficient to pass them to builders (such as strOption or flag) to create options (see Builder).

Constructors

Mod (f a -> f a) (DefaultProp a) (OptProperties -> OptProperties) 

Instances

Instances details
Monoid (Mod f a) # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

mempty :: Mod f a

mappend :: Mod f a -> Mod f a -> Mod f a #

mconcat :: [Mod f a] -> Mod f a

Semigroup (Mod f a) #

Since: 0.13.0.0

Instance details

Defined in Options.Applicative.Builder.Internal

Methods

(<>) :: Mod f a -> Mod f a -> Mod f a #

sconcat :: NonEmpty (Mod f a) -> Mod f a

stimes :: Integral b => b -> Mod f a -> Mod f a

class HasName f where #

Methods

name :: OptName -> f a -> f a #

Instances

Instances details
HasName FlagFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

name :: OptName -> FlagFields a -> FlagFields a #

HasName OptionFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

name :: OptName -> OptionFields a -> OptionFields a #

class HasCompleter f where #

Methods

modCompleter :: (Completer -> Completer) -> f a -> f a #

class HasValue f where #

Methods

hasValueDummy :: f a -> () #

Instances

Instances details
HasValue ArgumentFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

hasValueDummy :: ArgumentFields a -> () #

HasValue OptionFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

hasValueDummy :: OptionFields a -> () #

class HasMetavar f where #

Methods

hasMetavarDummy :: f a -> () #

Instances

Instances details
HasMetavar ArgumentFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

hasMetavarDummy :: ArgumentFields a -> () #

HasMetavar CommandFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

hasMetavarDummy :: CommandFields a -> () #

HasMetavar OptionFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

hasMetavarDummy :: OptionFields a -> () #

data OptionFields a #

Constructors

OptionFields 

Instances

Instances details
HasCompleter OptionFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

HasMetavar OptionFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

hasMetavarDummy :: OptionFields a -> () #

HasName OptionFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

name :: OptName -> OptionFields a -> OptionFields a #

HasValue OptionFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

hasValueDummy :: OptionFields a -> () #

data FlagFields a #

Constructors

FlagFields 

Fields

Instances

Instances details
HasName FlagFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

name :: OptName -> FlagFields a -> FlagFields a #

data CommandFields a #

Constructors

CommandFields 

Fields

Instances

Instances details
HasMetavar CommandFields # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

hasMetavarDummy :: CommandFields a -> () #

data DefaultProp a #

Constructors

DefaultProp (Maybe a) (Maybe (a -> String)) 

Instances

Instances details
Monoid (DefaultProp a) # 
Instance details

Defined in Options.Applicative.Builder.Internal

Semigroup (DefaultProp a) # 
Instance details

Defined in Options.Applicative.Builder.Internal

Methods

(<>) :: DefaultProp a -> DefaultProp a -> DefaultProp a #

sconcat :: NonEmpty (DefaultProp a) -> DefaultProp a

stimes :: Integral b => b -> DefaultProp a -> DefaultProp a

fieldMod :: (f a -> f a) -> Mod f a #

baseProps :: OptProperties #

Base default properties.

mkCommand :: Mod CommandFields a -> (Maybe String, [(String, ParserInfo a)]) #

internal :: Mod f a #

Hide this option completely from the help text

Use hidden if the option should remain visible in the full description.

noGlobal :: Mod f a #

Suppress this option from appearing in global options