Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Flag ¶
type Flag struct { // Alias is an alternative name for a flag, usually shorter :) Alias Name // ConfigPath is the path from the config to the value the flag updates ConfigPath string // Envvars holds a list of environment variables to update this flag. Only the first one that exists will be used. EnvVars []string // EmptyConstructor tells flag how to make a value EmptyValueConstructor value.EmptyConstructor // HelpShort is a message for the user on how to use this flag HelpShort HelpShort // Required means the user MUST fill this flag Required bool // When UnsetSentinal is passed as a flag value, Value is reset and SetBy is set to "" UnsetSentinel string // IsCommandFlag is set when parsing. Set to true if the flag was attached to a command (as opposed to being inherited from a section) IsCommandFlag bool // SetBy might be set when parsing. Possible values: appdefault, config, passedflag SetBy string // Value is set when parsing. Use SetBy != "" to determine whether a value was actually passed instead of being empty Value value.Value }
type FlagMap ¶
FlagMap holds flags - used by Commands and Sections
func (FlagMap) AddFlags ¶ added in v0.0.13
AddFlags adds another FlagMap to this one and and panics if a flag name already exists
func (*FlagMap) SortedNames ¶ added in v0.0.13
type FlagOpt ¶
type FlagOpt func(*Flag)
FlagOpt customizes a Flag on creation
func EnvVars ¶
EnvVars adds a list of environmental variables to search through to update this flag. The first one that exists will be used to update the flag. Further existing envvars will be ignored.
func UnsetSentinel ¶ added in v0.0.18
UnsetSentinel is a bit of an advanced feature meant to allow overriding a default, config, or environmental value with a command line flag. When UnsetSentinel is passed as a flag value, Value is reset and SetBy is set to "". It it recommended to set `name` to "UNSET" for consistency among warg apps. Scalar example:
app --flag UNSET // undoes anything that sets --flag
Slice example:
app --flag a --flag b --flag UNSET --flag c --flag d // ends up with []string{"c", "d"}