Safe Haskell | None |
---|---|
Language | Haskell2010 |
Parameters are arguments of your current command that are not prefixed by some flag. Typical commandline interface is something like "PROGRAM [FLAGS] INPUT". Here, FLAGS are Flags in butcher, and INPUT is a Param, in this case a String representing a path, for example.
- data Param p = Param {
- _param_default :: Maybe p
- _param_help :: Maybe Doc
- _param_suggestions :: Maybe [p]
- paramHelp :: Doc -> Param p
- paramHelpStr :: String -> Param p
- paramDefault :: p -> Param p
- paramSuggestions :: [p] -> Param p
- addReadParam :: forall f out a. (Applicative f, Typeable a, Show a, Read a) => String -> Param a -> CmdParser f out a
- addReadParamOpt :: forall f out a. (Applicative f, Typeable a, Read a) => String -> Param a -> CmdParser f out (Maybe a)
- addStringParam :: forall f out. Applicative f => String -> Param String -> CmdParser f out String
- addStringParamOpt :: forall f out. Applicative f => String -> Param Void -> CmdParser f out (Maybe String)
- addRestOfInputStringParam :: forall f out. Applicative f => String -> Param Void -> CmdParser f out String
Documentation
param-description monoid. You probably won't need to use the constructor; mzero or any (<>) of param(Help|Default|Suggestion) works well.
Param | |
|
paramDefault :: p -> Param p Source #
Create a Param
with just a default value.
paramSuggestions :: [p] -> Param p Source #
Create a Param
with just a list of suggestion values.
:: (Applicative f, Typeable a, Read a) | |
=> String | paramater name, for use in usage/help texts |
-> Param a | properties |
-> CmdParser f out (Maybe a) |
Like addReadParam, but optional. I.e. if reading fails, returns Nothing.
addStringParam :: forall f out. Applicative f => String -> Param String -> CmdParser f out String Source #
Add a parameter that matches any string of non-space characters if input
String, or one full argument if input is [String]. See the Input
doc for
this distinction.
addStringParamOpt :: forall f out. Applicative f => String -> Param Void -> CmdParser f out (Maybe String) Source #
Like addStringParam
, but optional, I.e. succeeding with Nothing if
there is no remaining input.
addRestOfInputStringParam :: forall f out. Applicative f => String -> Param Void -> CmdParser f out String Source #
Add a parameter that consumes _all_ remaining input. Typical usecase is after a "--" as common in certain (unix?) commandline tools.