harg-0.5.0.0: Haskell program configuration using higher kinded data
Safe HaskellSafe
LanguageHaskell2010

Options.Harg.Types

Synopsis

Documentation

data Opt a Source #

The basic option type

Constructors

Opt 

Fields

Instances

Instances details
Functor Opt Source # 
Instance details

Defined in Options.Harg.Types

Methods

fmap :: (a -> b) -> Opt a -> Opt b #

(<$) :: a -> Opt b -> Opt a #

data OptionOpt (attr :: [OptAttr]) a Source #

Option for flags with arguments. Corresponds to option.

Instances

Instances details
IsOpt OptionOpt attr Source # 
Instance details

Defined in Options.Harg.Construct

Methods

toOpt :: OptionOpt attr a -> Opt a

HasOptional OptionOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

optional :: (NotInAttrs 'OptOptional a (DuplicateAttrErr "optional"), NotInAttrs 'OptDefault a (IncompatibleAttrsErr "optional" "defaultVal")) => OptionOpt a a0 -> OptionOpt ('OptOptional ': a) (Maybe a0) Source #

HasDefaultVal OptionOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

defaultVal :: (NotInAttrs 'OptDefault a (DuplicateAttrMultipleErr "defaultVal" '["defaultStr", "required"]), NotInAttrs 'OptOptional a (IncompatibleAttrsErr "defaultVal" "optional")) => a0 -> OptionOpt a a0 -> OptionOpt ('OptDefault ': a) a0 Source #

HasRequired OptionOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

required :: forall (a0 :: k). (NotInAttrs 'OptDefault a (DuplicateAttrMultipleErr "required" '["defaultVal", "defaultStr"]), NotInAttrs 'OptOptional a (IncompatibleAttrsErr "required" "optional")) => OptionOpt a a0 -> OptionOpt ('OptDefault ': a) a0 Source #

HasDefaultStr OptionOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

defaultStr :: forall (a0 :: k). (NotInAttrs 'OptDefault a (DuplicateAttrMultipleErr "defaultStr" '["defaultVal", "required"]), NotInAttrs 'OptOptional a (IncompatibleAttrsErr "defaultStr" "optional")) => String -> OptionOpt a a0 -> OptionOpt ('OptDefault ': a) a0 Source #

HasEnvVar OptionOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

envVar :: forall (a0 :: k). String -> OptionOpt a a0 -> OptionOpt a a0 Source #

HasMetavar OptionOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

metavar :: forall (a0 :: k). String -> OptionOpt a a0 -> OptionOpt a a0 Source #

HasHelp OptionOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

help :: forall (a0 :: k). String -> OptionOpt a a0 -> OptionOpt a a0 Source #

HasShort OptionOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

short :: forall (a0 :: k). Char -> OptionOpt a a0 -> OptionOpt a a0 Source #

HasLong OptionOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

long :: forall (a0 :: k). String -> OptionOpt a a0 -> OptionOpt a a0 Source #

data FlagOpt (attr :: [OptAttr]) a Source #

Option for flags that act like switches between a default and an active value. Corresponds to flag.

Instances

Instances details
IsOpt FlagOpt attr Source # 
Instance details

Defined in Options.Harg.Construct

Methods

toOpt :: FlagOpt attr a -> Opt a

HasEnvVar FlagOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

envVar :: forall (a0 :: k). String -> FlagOpt a a0 -> FlagOpt a a0 Source #

HasHelp FlagOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

help :: forall (a0 :: k). String -> FlagOpt a a0 -> FlagOpt a a0 Source #

HasShort FlagOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

short :: forall (a0 :: k). Char -> FlagOpt a a0 -> FlagOpt a a0 Source #

HasLong FlagOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

long :: forall (a0 :: k). String -> FlagOpt a a0 -> FlagOpt a a0 Source #

data ArgumentOpt (attr :: [OptAttr]) a Source #

Option for arguments (no long/short specifiers). Corresponds to argument.

Instances

Instances details
IsOpt ArgumentOpt attr Source # 
Instance details

Defined in Options.Harg.Construct

Methods

toOpt :: ArgumentOpt attr a -> Opt a

HasOptional ArgumentOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

optional :: (NotInAttrs 'OptOptional a (DuplicateAttrErr "optional"), NotInAttrs 'OptDefault a (IncompatibleAttrsErr "optional" "defaultVal")) => ArgumentOpt a a0 -> ArgumentOpt ('OptOptional ': a) (Maybe a0) Source #

HasDefaultVal ArgumentOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

defaultVal :: (NotInAttrs 'OptDefault a (DuplicateAttrMultipleErr "defaultVal" '["defaultStr", "required"]), NotInAttrs 'OptOptional a (IncompatibleAttrsErr "defaultVal" "optional")) => a0 -> ArgumentOpt a a0 -> ArgumentOpt ('OptDefault ': a) a0 Source #

HasRequired ArgumentOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

required :: forall (a0 :: k). (NotInAttrs 'OptDefault a (DuplicateAttrMultipleErr "required" '["defaultVal", "defaultStr"]), NotInAttrs 'OptOptional a (IncompatibleAttrsErr "required" "optional")) => ArgumentOpt a a0 -> ArgumentOpt ('OptDefault ': a) a0 Source #

HasDefaultStr ArgumentOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

defaultStr :: forall (a0 :: k). (NotInAttrs 'OptDefault a (DuplicateAttrMultipleErr "defaultStr" '["defaultVal", "required"]), NotInAttrs 'OptOptional a (IncompatibleAttrsErr "defaultStr" "optional")) => String -> ArgumentOpt a a0 -> ArgumentOpt ('OptDefault ': a) a0 Source #

HasEnvVar ArgumentOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

envVar :: forall (a0 :: k). String -> ArgumentOpt a a0 -> ArgumentOpt a a0 Source #

HasMetavar ArgumentOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

metavar :: forall (a0 :: k). String -> ArgumentOpt a a0 -> ArgumentOpt a a0 Source #

HasHelp ArgumentOpt a Source # 
Instance details

Defined in Options.Harg.Construct

Methods

help :: forall (a0 :: k). String -> ArgumentOpt a a0 -> ArgumentOpt a a0 Source #

data OptType a Source #

Option types

Constructors

OptionOptType 
FlagOptType a

a is the active value for the flag parser

ArgumentOptType 

Instances

Instances details
Functor OptType Source # 
Instance details

Defined in Options.Harg.Types

Methods

fmap :: (a -> b) -> OptType a -> OptType b #

(<$) :: a -> OptType b -> OptType a #

data SomeOpt where Source #

Existential wrapper for Opt, so that many options can be carried in a list.

Constructors

SomeOpt :: Opt a -> SomeOpt 

data HargCtx Source #

Context to carry around, that contains environment variables and command line arguments.

Constructors

HargCtx 

Fields

type Environment = [(String, String)] Source #

Environment variable pairs, can be retrieved with getEnvironment.