Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- 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
- class HasMetavar f
- data OptionFields a = OptionFields {}
- data FlagFields a = FlagFields {
- flagNames :: [OptName]
- flagActive :: a
- data CommandFields a = CommandFields {
- cmdCommands :: [(String, ParserInfo a)]
- 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 -> ([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.
You rarely need 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
).
Mod (f a -> f a) (DefaultProp a) (OptProperties -> OptProperties) |
class HasCompleter f where Source
modCompleter :: (Completer -> Completer) -> f a -> f a Source
class HasMetavar f Source
hasMetavarDummy
data OptionFields a Source
data CommandFields a Source
CommandFields | |
|
data ArgumentFields a Source
optionMod :: (OptProperties -> OptProperties) -> Mod f a Source
baseProps :: OptProperties Source
Base default properties.
mkCommand :: Mod CommandFields a -> ([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