| Safe Haskell | Safe |
|---|---|
| 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
- class HasValue f where
- class HasMetavar f where
- 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], String -> Maybe (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
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) |
class HasName f where Source #
Minimal complete definition
Instances
| HasName FlagFields Source # | |
Methods name :: OptName -> FlagFields a -> FlagFields a Source # | |
| HasName OptionFields Source # | |
Methods name :: OptName -> OptionFields a -> OptionFields a Source # | |
class HasCompleter f where Source #
Minimal complete definition
Methods
modCompleter :: (Completer -> Completer) -> f a -> f a Source #
Instances
| HasCompleter ArgumentFields Source # | |
Methods modCompleter :: (Completer -> Completer) -> ArgumentFields a -> ArgumentFields a Source # | |
| HasCompleter OptionFields Source # | |
Methods modCompleter :: (Completer -> Completer) -> OptionFields a -> OptionFields a Source # | |
class HasValue f where Source #
Minimal complete definition
Methods
hasValueDummy :: f a -> () Source #
Instances
| HasValue ArgumentFields Source # | |
Methods hasValueDummy :: ArgumentFields a -> () Source # | |
| HasValue OptionFields Source # | |
Methods hasValueDummy :: OptionFields a -> () Source # | |
class HasMetavar f where Source #
Minimal complete definition
Methods
hasMetavarDummy :: f a -> () Source #
Instances
| HasMetavar ArgumentFields Source # | |
Methods hasMetavarDummy :: ArgumentFields a -> () Source # | |
| HasMetavar CommandFields Source # | |
Methods hasMetavarDummy :: CommandFields a -> () Source # | |
| HasMetavar OptionFields Source # | |
Methods hasMetavarDummy :: OptionFields a -> () Source # | |
data OptionFields a Source #
Constructors
| OptionFields | |
Fields
| |
Instances
| HasMetavar OptionFields Source # | |
Methods hasMetavarDummy :: OptionFields a -> () Source # | |
| HasValue OptionFields Source # | |
Methods hasValueDummy :: OptionFields a -> () Source # | |
| HasCompleter OptionFields Source # | |
Methods modCompleter :: (Completer -> Completer) -> OptionFields a -> OptionFields a Source # | |
| HasName OptionFields Source # | |
Methods name :: OptName -> OptionFields a -> OptionFields a Source # | |
data FlagFields a Source #
Constructors
| FlagFields | |
Fields
| |
Instances
| HasName FlagFields Source # | |
Methods name :: OptName -> FlagFields a -> FlagFields a Source # | |
data CommandFields a Source #
Constructors
| CommandFields | |
Fields
| |
Instances
| HasMetavar CommandFields Source # | |
Methods hasMetavarDummy :: CommandFields a -> () Source # | |
data ArgumentFields a Source #
Constructors
| ArgumentFields | |
Fields | |
Instances
| HasMetavar ArgumentFields Source # | |
Methods hasMetavarDummy :: ArgumentFields a -> () Source # | |
| HasValue ArgumentFields Source # | |
Methods hasValueDummy :: ArgumentFields a -> () Source # | |
| HasCompleter ArgumentFields Source # | |
Methods modCompleter :: (Completer -> Completer) -> ArgumentFields a -> ArgumentFields a Source # | |
data DefaultProp a Source #
Constructors
| DefaultProp (Maybe a) (Maybe (a -> String)) |
Instances
| Semigroup (DefaultProp a) Source # | |
Methods (<>) :: DefaultProp a -> DefaultProp a -> DefaultProp a # sconcat :: NonEmpty (DefaultProp a) -> DefaultProp a # stimes :: Integral b => b -> DefaultProp a -> DefaultProp a # | |
| Monoid (DefaultProp a) Source # | |
Methods mempty :: DefaultProp a # mappend :: DefaultProp a -> DefaultProp a -> DefaultProp a # mconcat :: [DefaultProp a] -> DefaultProp a # | |
optionMod :: (OptProperties -> OptProperties) -> Mod f a Source #
baseProps :: OptProperties Source #
Base default properties.
mkCommand :: Mod CommandFields a -> (Maybe String, [String], String -> Maybe (ParserInfo a)) Source #
mkParser :: DefaultProp a -> (OptProperties -> OptProperties) -> OptReader a -> Parser a Source #
mkOption :: DefaultProp a -> (OptProperties -> OptProperties) -> OptReader a -> Option a Source #
mkProps :: DefaultProp a -> (OptProperties -> OptProperties) -> OptProperties Source #