Safe Haskell | None |
---|---|
Language | Haskell2010 |
OptEnvConf.Setting
Synopsis
- data Setting a = Setting {
- settingDasheds :: ![Dashed]
- settingReaders :: ![Reader a]
- settingTryArgument :: !Bool
- settingSwitchValue :: !(Maybe a)
- settingTryOption :: !Bool
- settingEnvVars :: !(Maybe (NonEmpty String))
- settingConfigVals :: !(Maybe (NonEmpty (ConfigValSetting a)))
- settingDefaultValue :: !(Maybe (a, String))
- settingExamples :: ![String]
- settingHidden :: !Bool
- settingMetavar :: !(Maybe Metavar)
- settingHelp :: !(Maybe String)
- data ConfigValSetting a = ConfigValSetting {
- configValSettingPath :: !(NonEmpty String)
- configValSettingCodec :: !(ValueCodec void (Maybe a))
- help :: String -> Builder a
- metavar :: String -> Builder a
- argument :: Builder a
- option :: Builder a
- switch :: a -> Builder a
- reader :: Reader a -> Builder a
- str :: IsString s => Reader s
- auto :: Read a => Reader a
- long :: String -> Builder a
- short :: Char -> Builder a
- env :: String -> Builder a
- conf :: HasCodec a => String -> Builder a
- confWith :: String -> ValueCodec void a -> Builder a
- confWith' :: String -> ValueCodec void (Maybe a) -> Builder a
- name :: HasCodec a => String -> Builder a
- value :: Show a => a -> Builder a
- valueWithShown :: (a -> String) -> a -> Builder a
- example :: String -> Builder a
- shownExample :: Show a => a -> Builder a
- hidden :: Builder a
- newtype Builder a = Builder {
- unBuilder :: [BuildInstruction a]
- data BuildInstruction a
- = BuildAddHelp !String
- | BuildSetMetavar !String
- | BuildTryArgument
- | BuildTryOption
- | BuildSetSwitchValue !a
- | BuildAddReader !(Reader a)
- | BuildAddLong !(NonEmpty Char)
- | BuildAddShort !Char
- | BuildAddEnv !String
- | BuildAddConf !(ConfigValSetting a)
- | BuildSetDefault !a !String
- | BuildAddExample !String
- | BuildSetHidden
- showSettingABit :: Setting a -> ShowS
- newtype SettingHash = SettingHash Int
- hashSetting :: Setting a -> SettingHash
- completeBuilder :: Builder a -> Setting a
- mapMaybeBuilder :: (BuildInstruction a -> Maybe (BuildInstruction b)) -> Builder a -> Builder b
- emptySetting :: Setting a
- type Metavar = String
- type Help = String
- prefixConfigValSetting :: String -> ConfigValSetting a -> ConfigValSetting a
- suffixConfigValSettingKey :: String -> ConfigValSetting a -> ConfigValSetting a
Documentation
A setting for parsing and documenting a single value.
Constructors
Setting | |
Fields
|
data ConfigValSetting a Source #
Constructors
ConfigValSetting | |
Fields
|
Builders
reader :: Reader a -> Builder a Source #
Declare how to parse an argument, option, or environment variable.
conf :: HasCodec a => String -> Builder a Source #
Try to parse a configuration value at the given key.
Multiple conf
s will be tried in order.
confWith' :: String -> ValueCodec void (Maybe a) -> Builder a Source #
Like confWith
but allows interpreting Null
as a value other than "Not found".
value :: Show a => a -> Builder a Source #
Set the default value
Multiple value
s override eachother.
API Note: default
is not a valid identifier in Haskell.
I'd also have preferred default
instead.
valueWithShown :: (a -> String) -> a -> Builder a Source #
Set the default value, along with version of it shown by a custom function.
example :: String -> Builder a Source #
Provide an example value for documentation.
The example is provided as a literal string.
If you use reader
auto
, you'll want to use shownExample
instead.
shownExample :: Show a => a -> Builder a Source #
Builder for a Setting
Constructors
Builder | |
Fields
|
data BuildInstruction a Source #
Constructors
Internal
newtype SettingHash Source #
Constructors
SettingHash Int |
Instances
Show SettingHash Source # | |
Defined in OptEnvConf.Setting Methods showsPrec :: Int -> SettingHash -> ShowS # show :: SettingHash -> String # showList :: [SettingHash] -> ShowS # | |
Eq SettingHash Source # | |
Defined in OptEnvConf.Setting | |
Ord SettingHash Source # | |
Defined in OptEnvConf.Setting Methods compare :: SettingHash -> SettingHash -> Ordering # (<) :: SettingHash -> SettingHash -> Bool # (<=) :: SettingHash -> SettingHash -> Bool # (>) :: SettingHash -> SettingHash -> Bool # (>=) :: SettingHash -> SettingHash -> Bool # max :: SettingHash -> SettingHash -> SettingHash # min :: SettingHash -> SettingHash -> SettingHash # |
hashSetting :: Setting a -> SettingHash Source #
mapMaybeBuilder :: (BuildInstruction a -> Maybe (BuildInstruction b)) -> Builder a -> Builder b Source #
prefixConfigValSetting :: String -> ConfigValSetting a -> ConfigValSetting a Source #
suffixConfigValSettingKey :: String -> ConfigValSetting a -> ConfigValSetting a Source #