flag

package
v0.0.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 29, 2022 License: MIT Imports: 3 Imported by: 4

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

	// DefaultValues will be shoved into Value if the app builder specifies it.
	// For scalar values, the last DefaultValues wins
	DefaultValues []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

	// 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

	// TypeDescription is set when parsing. Describes the type: int, string, ...
	TypeDescription string

	// TypeInfo is set when parsing. Describes the "shape" of the type
	TypeInfo value.TypeContainer

	// Value might be set when parsing. The interface returned by updating a flag
	Value value.Value
}

func New

func New(helpShort HelpShort, empty value.EmptyConstructor, opts ...FlagOpt) Flag

New creates a Flag with options!

type FlagMap

type FlagMap map[Name]Flag

FlagMap holds flags - used by Commands and Sections

func (FlagMap) AddFlag added in v0.0.13

func (fm FlagMap) AddFlag(name Name, value Flag)

AddFlag adds a new flag and panics if it already exists

func (FlagMap) AddFlags added in v0.0.13

func (fm FlagMap) AddFlags(flagMap FlagMap)

AddFlags adds another FlagMap to this one and and panics if a flag name already exists

func (*FlagMap) SortedNames added in v0.0.13

func (fm *FlagMap) SortedNames() []Name

type FlagOpt

type FlagOpt func(*Flag)

FlagOpt customizes a Flag on creation

func Alias

func Alias(alias Name) FlagOpt

Alias is an alternative name for a flag, usually shorter :)

func ConfigPath

func ConfigPath(path string) FlagOpt

ConfigPath adds a configpath to a flag

func Default

func Default(values ...string) FlagOpt

Default adds default values to a flag. The flag will be updated with each of the values when Resolve is called. Panics when multiple values are passed and the flags is scalar

func EnvVars

func EnvVars(name ...string) FlagOpt

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 Required

func Required() FlagOpt

Required means the user MUST fill this flag

type HelpShort

type HelpShort string

HelpShort is a description of what this flag does.

type Name

type Name string

Name of a flag

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL