Documentation ¶
Index ¶
Constants ¶
View Source
const ( FlagTypeNone = iota FlagTypeString = iota FlagTypeInt = iota )
View Source
const ComponentName = "cli"
Variables ¶
View Source
var Plugins = generic.NewContainer(func(opts ...Option) Cli { return nil })
Functions ¶
func PrefixName ¶
Types ¶
type Cli ¶
type Cli interface { // Add adds a Flag to CLI Add(opts ...FlagOption) error // Parse parses flags from args you MUST Add Flags first Parse(args []string, opts ...Option) error // String returns the name of the current implementation String() string }
func ProvideCli ¶
type CliConfig ¶
type CliConfig struct { Name string `json:"name" yaml:"Name"` Version string `json:"version" yaml:"Version"` Description string `json:"description" yaml:"Description"` Usage string `json:"usage" yaml:"Usage"` NoFlags bool `json:"no_flags" yaml:"NoFlags"` ArgPrefix string `json:"arg_prefix" yaml:"ArgPrefix"` Plugin string `json:"plugin" yaml:"Plugin"` ConfigFile string `json:"config_file" yaml:"ConfigFile"` Flags []Flag `json:"-" yaml:"-"` }
type Flag ¶
type Flag struct { Name string EnvVars []string Usage string FlagType int DefaultString string DestinationString *string DefaultInt int DestinationInt *int }
func NewFlag ¶
func NewFlag(opts ...FlagOption) (*Flag, error)
func (*Flag) AsOptions ¶
func (f *Flag) AsOptions() []FlagOption
type FlagOption ¶
type FlagOption func(*Flag)
func Default ¶
func Default[T any](n T) FlagOption
func Destination ¶
func Destination[T any](n T) FlagOption
func EnvVars ¶
func EnvVars(n ...string) FlagOption
func Name ¶
func Name(n string) FlagOption
func Usage ¶
func Usage(n string) FlagOption
Click to show internal directories.
Click to hide internal directories.