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.