opt-env-conf-0.6.0.1: src/OptEnvConf.hs
{-# LANGUAGE ApplicativeDo #-}
{-# LANGUAGE GADTs #-}
{-# OPTIONS_GHC -Wno-duplicate-exports #-}
module OptEnvConf
( -- * Running parsers
runSettingsParser,
HasParser (..),
Parser,
runParser,
-- * Building parsers
-- ** Settings
setting,
filePathSetting,
directoryPathSetting,
-- *** Building settings
help,
reader,
argument,
option,
switch,
long,
short,
env,
conf,
confWith,
confWith',
name,
value,
hidden,
metavar,
-- ** Commands
commands,
command,
defaultCommand,
-- ** Composing settings with the usual type-classes
optional,
(<$>),
(<*>),
(<|>),
many,
some,
select,
-- ** Prefixing parsers
subArgs,
subArgs_,
subEnv,
subEnv_,
subConfig,
subConfig_,
subAll,
-- ** Subparsers
subSettings,
allOrNothing,
-- *** Casing helpers
toArgCase,
toEnvCase,
toConfigCase,
-- ** Helper functions
someNonEmpty,
checkEither,
checkMaybe,
checkMapEither,
checkMapIO,
checkMapMaybe,
checkMapEitherForgivable,
checkMapIOForgivable,
checkMapMaybeForgivable,
checkMapMaybe,
mapIO,
choice,
-- ** Loading configuration files
withConfig,
withYamlConfig,
withFirstYamlConfig,
withCombinedYamlConfigs,
withCombinedYamlConfigs',
xdgYamlConfigFile,
withLocalYamlConfig,
withConfigurableYamlConfig,
withoutConfig,
-- ** Common settings
-- *** Switches
enableDisableSwitch,
yesNoSwitch,
makeDoubleSwitch,
-- *** Secrets
readSecretTextFile,
secretTextFileSetting,
secretTextFileOrBareSetting,
-- *** Migration
strOption,
strArgument,
-- ** Readers
-- *** Common readers
str,
auto,
exists,
-- *** Constructing your own reader
maybeReader,
eitherReader,
-- *** Comma-separated readers
commaSeparatedList,
commaSeparated,
commaSeparatedSet,
-- * Re-exports, just in case
module OptEnvConf.Casing,
module OptEnvConf.Doc,
module OptEnvConf.Nix,
module OptEnvConf.Parser,
module OptEnvConf.Reader,
module OptEnvConf.Run,
module OptEnvConf.Setting,
module Control.Applicative,
)
where
import Control.Applicative
import OptEnvConf.Casing
import OptEnvConf.Doc
import OptEnvConf.Nix
import OptEnvConf.Parser
import OptEnvConf.Reader
import OptEnvConf.Run
import OptEnvConf.Setting