Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell98 |
Options.Applicative.Builder.Internal
Contents
Synopsis
- data Mod f a = Mod (f a -> f a) (DefaultProp a) (OptProperties -> OptProperties)
- class HasName f where
- class HasCompleter f where
- modCompleter :: (Completer -> Completer) -> f a -> f a
- class HasValue f where
- hasValueDummy :: f a -> ()
- class HasMetavar f where
- hasMetavarDummy :: f a -> ()
- data OptionFields a = OptionFields {
- optNames :: [OptName]
- optCompleter :: Completer
- optNoArgError :: String -> ParseError
- data FlagFields a = FlagFields {
- flagNames :: [OptName]
- flagActive :: a
- data CommandFields a = CommandFields {
- cmdCommands :: [(String, ParserInfo a)]
- cmdGroup :: Maybe String
- data ArgumentFields a = ArgumentFields {}
- data DefaultProp a = DefaultProp (Maybe a) (Maybe (a -> String))
- optionMod :: (OptProperties -> OptProperties) -> Mod f a
- fieldMod :: (f a -> f a) -> Mod f a
- baseProps :: OptProperties
- mkCommand :: Mod CommandFields a -> (Maybe String, [(String, ParserInfo a)])
- mkParser :: DefaultProp a -> (OptProperties -> OptProperties) -> OptReader a -> Parser a
- mkOption :: DefaultProp a -> (OptProperties -> OptProperties) -> OptReader a -> Option a
- mkProps :: DefaultProp a -> (OptProperties -> OptProperties) -> OptProperties
- internal :: Mod f a
- noGlobal :: Mod f a
Internals
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 byf
. - 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
HasName FlagFields # | |
Defined in Options.Applicative.Builder.Internal Methods name :: OptName -> FlagFields a -> FlagFields a # | |
HasName OptionFields # | |
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 #
Instances
HasCompleter ArgumentFields # | |
Defined in Options.Applicative.Builder.Internal Methods modCompleter :: (Completer -> Completer) -> ArgumentFields a -> ArgumentFields a # | |
HasCompleter OptionFields # | |
Defined in Options.Applicative.Builder.Internal Methods modCompleter :: (Completer -> Completer) -> OptionFields a -> OptionFields a # |
Methods
hasValueDummy :: f a -> () #
Instances
HasValue ArgumentFields # | |
Defined in Options.Applicative.Builder.Internal Methods hasValueDummy :: ArgumentFields a -> () # | |
HasValue OptionFields # | |
Defined in Options.Applicative.Builder.Internal Methods hasValueDummy :: OptionFields a -> () # |
class HasMetavar f where #
Methods
hasMetavarDummy :: f a -> () #
Instances
HasMetavar ArgumentFields # | |
Defined in Options.Applicative.Builder.Internal Methods hasMetavarDummy :: ArgumentFields a -> () # | |
HasMetavar CommandFields # | |
Defined in Options.Applicative.Builder.Internal Methods hasMetavarDummy :: CommandFields a -> () # | |
HasMetavar OptionFields # | |
Defined in Options.Applicative.Builder.Internal Methods hasMetavarDummy :: OptionFields a -> () # |
data OptionFields a #
Constructors
OptionFields | |
Fields
|
Instances
HasCompleter OptionFields # | |
Defined in Options.Applicative.Builder.Internal Methods modCompleter :: (Completer -> Completer) -> OptionFields a -> OptionFields a # | |
HasMetavar OptionFields # | |
Defined in Options.Applicative.Builder.Internal Methods hasMetavarDummy :: OptionFields a -> () # | |
HasName OptionFields # | |
Defined in Options.Applicative.Builder.Internal Methods name :: OptName -> OptionFields a -> OptionFields a # | |
HasValue OptionFields # | |
Defined in Options.Applicative.Builder.Internal Methods hasValueDummy :: OptionFields a -> () # |
data FlagFields a #
Constructors
FlagFields | |
Fields
|
Instances
HasName FlagFields # | |
Defined in Options.Applicative.Builder.Internal Methods name :: OptName -> FlagFields a -> FlagFields a # |
data CommandFields a #
Constructors
CommandFields | |
Fields
|
Instances
HasMetavar CommandFields # | |
Defined in Options.Applicative.Builder.Internal Methods hasMetavarDummy :: CommandFields a -> () # |
data ArgumentFields a #
Constructors
ArgumentFields | |
Fields |
Instances
HasCompleter ArgumentFields # | |
Defined in Options.Applicative.Builder.Internal Methods modCompleter :: (Completer -> Completer) -> ArgumentFields a -> ArgumentFields a # | |
HasMetavar ArgumentFields # | |
Defined in Options.Applicative.Builder.Internal Methods hasMetavarDummy :: ArgumentFields a -> () # | |
HasValue ArgumentFields # | |
Defined in Options.Applicative.Builder.Internal Methods hasValueDummy :: ArgumentFields a -> () # |
data DefaultProp a #
Constructors
DefaultProp (Maybe a) (Maybe (a -> String)) |
Instances
Monoid (DefaultProp a) # | |
Defined in Options.Applicative.Builder.Internal Methods mempty :: DefaultProp a mappend :: DefaultProp a -> DefaultProp a -> DefaultProp a # mconcat :: [DefaultProp a] -> DefaultProp a | |
Semigroup (DefaultProp a) # | |
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 |
optionMod :: (OptProperties -> OptProperties) -> Mod f a #
Base default properties.
mkCommand :: Mod CommandFields a -> (Maybe String, [(String, ParserInfo a)]) #
mkParser :: DefaultProp a -> (OptProperties -> OptProperties) -> OptReader a -> Parser a #
mkOption :: DefaultProp a -> (OptProperties -> OptProperties) -> OptReader a -> Option a #
mkProps :: DefaultProp a -> (OptProperties -> OptProperties) -> OptProperties #
Hide this option completely from the help text
Use hidden
if the option should remain visible in the full description.