Documentation
¶
Overview ¶
Package pflags provides a drop-in replacement for spf13/pflag that maintains complete API compatibility while leveraging OptArgs Core for superior POSIX/GNU compliance.
Index ¶
- Variables
- func Arg(i int) string
- func Args() []string
- func Bool(name string, value bool, usage string) *bool
- func BoolP(name, shorthand string, value bool, usage string) *bool
- func BoolVar(p *bool, name string, value bool, usage string)
- func BoolVarP(p *bool, name, shorthand string, value bool, usage string)
- func Duration(name string, value time.Duration, usage string) *time.Duration
- func DurationP(name, shorthand string, value time.Duration, usage string) *time.Duration
- func DurationVar(p *time.Duration, name string, value time.Duration, usage string)
- func DurationVarP(p *time.Duration, name, shorthand string, value time.Duration, usage string)
- func Float64(name string, value float64, usage string) *float64
- func Float64P(name, shorthand string, value float64, usage string) *float64
- func Float64Var(p *float64, name string, value float64, usage string)
- func Float64VarP(p *float64, name, shorthand string, value float64, usage string)
- func Int(name string, value int, usage string) *int
- func IntP(name, shorthand string, value int, usage string) *int
- func IntVar(p *int, name string, value int, usage string)
- func IntVarP(p *int, name, shorthand string, value int, usage string)
- func NArg() int
- func Parse()
- func Parsed() bool
- func PrintDefaults()
- func Set(name, value string) error
- func String(name string, value string, usage string) *string
- func StringP(name, shorthand string, value string, usage string) *string
- func StringVar(p *string, name string, value string, usage string)
- func StringVarP(p *string, name, shorthand string, value string, usage string)
- func UnquoteUsage(flag *Flag) (name string, usage string)
- func Usage()
- func Var(value Value, name string, usage string)
- func VarP(value Value, name, shorthand, usage string)
- func Visit(fn func(*Flag))
- func VisitAll(fn func(*Flag))
- type CoreIntegration
- type ErrorHandling
- type Flag
- type FlagSet
- func (f *FlagSet) Arg(i int) string
- func (f *FlagSet) Args() []string
- func (f *FlagSet) Bool(name string, value bool, usage string) *bool
- func (f *FlagSet) BoolP(name, shorthand string, value bool, usage string) *bool
- func (f *FlagSet) BoolVar(p *bool, name string, value bool, usage string)
- func (f *FlagSet) BoolVarP(p *bool, name, shorthand string, value bool, usage string)
- func (f *FlagSet) Duration(name string, value time.Duration, usage string) *time.Duration
- func (f *FlagSet) DurationP(name, shorthand string, value time.Duration, usage string) *time.Duration
- func (f *FlagSet) DurationVar(p *time.Duration, name string, value time.Duration, usage string)
- func (f *FlagSet) DurationVarP(p *time.Duration, name, shorthand string, value time.Duration, usage string)
- func (f *FlagSet) Float64(name string, value float64, usage string) *float64
- func (f *FlagSet) Float64P(name, shorthand string, value float64, usage string) *float64
- func (f *FlagSet) Float64Var(p *float64, name string, value float64, usage string)
- func (f *FlagSet) Float64VarP(p *float64, name, shorthand string, value float64, usage string)
- func (f *FlagSet) Int(name string, value int, usage string) *int
- func (f *FlagSet) Int64(name string, value int64, usage string) *int64
- func (f *FlagSet) Int64P(name, shorthand string, value int64, usage string) *int64
- func (f *FlagSet) Int64Var(p *int64, name string, value int64, usage string)
- func (f *FlagSet) Int64VarP(p *int64, name, shorthand string, value int64, usage string)
- func (f *FlagSet) IntP(name, shorthand string, value int, usage string) *int
- func (f *FlagSet) IntSlice(name string, value []int, usage string) *[]int
- func (f *FlagSet) IntSliceP(name, shorthand string, value []int, usage string) *[]int
- func (f *FlagSet) IntSliceVar(p *[]int, name string, value []int, usage string)
- func (f *FlagSet) IntSliceVarP(p *[]int, name, shorthand string, value []int, usage string)
- func (f *FlagSet) IntVar(p *int, name string, value int, usage string)
- func (f *FlagSet) IntVarP(p *int, name, shorthand string, value int, usage string)
- func (f *FlagSet) Lookup(name string) *Flag
- func (f *FlagSet) NArg() int
- func (f *FlagSet) Name() string
- func (f *FlagSet) Parse(arguments []string) error
- func (f *FlagSet) Parsed() bool
- func (f *FlagSet) PrintDefaults()
- func (f *FlagSet) Set(name, value string) error
- func (f *FlagSet) SetOutput(output io.Writer)
- func (f *FlagSet) String(name string, value string, usage string) *string
- func (f *FlagSet) StringP(name, shorthand string, value string, usage string) *string
- func (f *FlagSet) StringSlice(name string, value []string, usage string) *[]string
- func (f *FlagSet) StringSliceP(name, shorthand string, value []string, usage string) *[]string
- func (f *FlagSet) StringSliceVar(p *[]string, name string, value []string, usage string)
- func (f *FlagSet) StringSliceVarP(p *[]string, name, shorthand string, value []string, usage string)
- func (f *FlagSet) StringVar(p *string, name string, value string, usage string)
- func (f *FlagSet) StringVarP(p *string, name, shorthand string, value string, usage string)
- func (f *FlagSet) Uint(name string, value uint, usage string) *uint
- func (f *FlagSet) Uint64(name string, value uint64, usage string) *uint64
- func (f *FlagSet) Uint64P(name, shorthand string, value uint64, usage string) *uint64
- func (f *FlagSet) Uint64Var(p *uint64, name string, value uint64, usage string)
- func (f *FlagSet) Uint64VarP(p *uint64, name, shorthand string, value uint64, usage string)
- func (f *FlagSet) UintP(name, shorthand string, value uint, usage string) *uint
- func (f *FlagSet) UintVar(p *uint, name string, value uint, usage string)
- func (f *FlagSet) UintVarP(p *uint, name, shorthand string, value uint, usage string)
- func (f *FlagSet) Var(value Value, name string, usage string)
- func (f *FlagSet) VarP(value Value, name, shorthand, usage string)
- func (f *FlagSet) Visit(fn func(*Flag))
- func (f *FlagSet) VisitAll(fn func(*Flag))
- type NormalizedName
- type Value
Constants ¶
This section is empty.
Variables ¶
var CommandLine = NewFlagSet(os.Args[0], ExitOnError)
CommandLine is the default set of command-line flags, parsed from os.Args.
Functions ¶
func Arg ¶
Arg returns the i'th command-line argument. Arg(0) is the first remaining argument after flags have been processed.
func Bool ¶
Bool defines a bool flag with specified name, default value, and usage string. The return value is the address of a bool variable that stores the value of the flag.
func BoolP ¶
BoolP is like Bool, but accepts a shorthand letter that can be used after a single dash.
func BoolVar ¶
BoolVar defines a bool flag with specified name, default value, and usage string. The argument p points to a bool variable in which to store the value of the flag.
func BoolVarP ¶
BoolVarP is like BoolVar, but accepts a shorthand letter that can be used after a single dash.
func Duration ¶
Duration defines a time.Duration flag with specified name, default value, and usage string. The return value is the address of a time.Duration variable that stores the value of the flag.
func DurationP ¶
DurationP is like Duration, but accepts a shorthand letter that can be used after a single dash.
func DurationVar ¶
DurationVar defines a time.Duration flag with specified name, default value, and usage string. The argument p points to a time.Duration variable in which to store the value of the flag.
func DurationVarP ¶
DurationVarP is like DurationVar, but accepts a shorthand letter that can be used after a single dash.
func Float64 ¶
Float64 defines a float64 flag with specified name, default value, and usage string. The return value is the address of a float64 variable that stores the value of the flag.
func Float64P ¶
Float64P is like Float64, but accepts a shorthand letter that can be used after a single dash.
func Float64Var ¶
Float64Var defines a float64 flag with specified name, default value, and usage string. The argument p points to a float64 variable in which to store the value of the flag.
func Float64VarP ¶
Float64VarP is like Float64Var, but accepts a shorthand letter that can be used after a single dash.
func Int ¶
Int defines an int flag with specified name, default value, and usage string. The return value is the address of an int variable that stores the value of the flag.
func IntVar ¶
IntVar defines an int flag with specified name, default value, and usage string. The argument p points to an int variable in which to store the value of the flag.
func IntVarP ¶
IntVarP is like IntVar, but accepts a shorthand letter that can be used after a single dash.
func NArg ¶
func NArg() int
NArg is the number of arguments remaining after flags have been processed.
func Parse ¶
func Parse()
Parse parses the command-line flags from os.Args[1:]. Must be called after all flags are defined and before flags are accessed by the program.
func PrintDefaults ¶
func PrintDefaults()
PrintDefaults prints, to standard error unless configured otherwise, the default values of all defined command-line flags.
func String ¶
String defines a string flag with specified name, default value, and usage string. The return value is the address of a string variable that stores the value of the flag.
func StringP ¶
StringP is like String, but accepts a shorthand letter that can be used after a single dash.
func StringVar ¶
StringVar defines a string flag with specified name, default value, and usage string. The argument p points to a string variable in which to store the value of the flag.
func StringVarP ¶
StringVarP is like StringVar, but accepts a shorthand letter that can be used after a single dash.
func UnquoteUsage ¶
UnquoteUsage extracts a back-quoted name from the usage string for a flag and returns it and the un-quoted usage. Given "a `name` to show" it returns ("name", "a name to show"). If there are no back quotes, the name is an educated guess of the type of the flag's value, or the empty string if the flag is boolean.
func Usage ¶
func Usage()
Usage prints a usage message documenting all defined command-line flags to CommandLine's output, which by default is os.Stderr.
func Var ¶
Var defines a flag with the specified name and usage string. The type and value of the flag are represented by the first argument, of type Value, which typically holds a user-defined implementation of Value.
Types ¶
type CoreIntegration ¶
type CoreIntegration struct {
// contains filtered or unexported fields
}
CoreIntegration provides the translation layer between pflag Flag definitions and OptArgs Core format, handling flag registration and parsing delegation.
func NewCoreIntegration ¶
func NewCoreIntegration(flagSet *FlagSet) *CoreIntegration
NewCoreIntegration creates a new CoreIntegration instance for the given FlagSet.
func (*CoreIntegration) GetParser ¶
func (ci *CoreIntegration) GetParser() *optargs.Parser
GetParser returns the initialized OptArgs Core parser. Returns nil if InitializeParser hasn't been called successfully.
func (*CoreIntegration) InitializeParser ¶
func (ci *CoreIntegration) InitializeParser(args []string) error
InitializeParser creates and configures the OptArgs Core parser with all registered flags.
func (*CoreIntegration) RegisterFlag ¶
func (ci *CoreIntegration) RegisterFlag(flag *Flag) error
RegisterFlag converts a pflag Flag definition to OptArgs Core format and registers it. This handles the translation between pflag's Flag structure and OptArgs Core's Flag structure.
func (*CoreIntegration) TranslateError ¶
func (ci *CoreIntegration) TranslateError(err error) error
TranslateError converts OptArgs Core errors to pflag-compatible error messages.
type ErrorHandling ¶
type ErrorHandling int
ErrorHandling defines how FlagSet.Parse behaves if the parse fails.
const ( // ContinueOnError will return an err from Parse() if an error is found ContinueOnError ErrorHandling = iota // ExitOnError will call os.Exit(2) if an error is found when parsing ExitOnError // PanicOnError will panic() if an error is found when parsing flags PanicOnError )
type Flag ¶
type Flag struct {
Name string // name as it appears on command line
Shorthand string // one-letter abbreviated flag
Usage string // help message
Value Value // value as set
DefValue string // default value (as text); for usage message
Changed bool // If the user set the value (or if left to default)
Hidden bool // used by cobra.Command to allow flags to be hidden from help/usage text
Deprecated string // If this flag is deprecated, this string is the new or now thing to use
Annotations map[string][]string // used by cobra.Command bash autocomple code
}
Flag represents the state of a flag.
type FlagSet ¶
type FlagSet struct {
// Usage is the function called when an error occurs while parsing flags.
// The field is a function (not a method) that may be changed to point to
// a custom error handler.
Usage func()
// contains filtered or unexported fields
}
FlagSet represents a set of defined flags.
func NewFlagSet ¶
func NewFlagSet(name string, errorHandling ErrorHandling) *FlagSet
NewFlagSet returns a new, empty flag set with the specified name and error handling property.
func (*FlagSet) Arg ¶
Arg returns the i'th argument. Arg(0) is the first remaining argument after flags have been processed.
func (*FlagSet) Bool ¶
Bool defines a bool flag with specified name, default value, and usage string. The return value is the address of a bool variable that stores the value of the flag.
func (*FlagSet) BoolP ¶
BoolP is like Bool, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) BoolVar ¶
BoolVar defines a bool flag with specified name, default value, and usage string. The argument p points to a bool variable in which to store the value of the flag.
func (*FlagSet) BoolVarP ¶
BoolVarP is like BoolVar, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) Duration ¶
Duration defines a time.Duration flag with specified name, default value, and usage string. The return value is the address of a time.Duration variable that stores the value of the flag.
func (*FlagSet) DurationP ¶
func (f *FlagSet) DurationP(name, shorthand string, value time.Duration, usage string) *time.Duration
DurationP is like Duration, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) DurationVar ¶
DurationVar defines a time.Duration flag with specified name, default value, and usage string. The argument p points to a time.Duration variable in which to store the value of the flag.
func (*FlagSet) DurationVarP ¶
func (f *FlagSet) DurationVarP(p *time.Duration, name, shorthand string, value time.Duration, usage string)
DurationVarP is like DurationVar, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) Float64 ¶
Float64 defines a float64 flag with specified name, default value, and usage string. The return value is the address of a float64 variable that stores the value of the flag.
func (*FlagSet) Float64P ¶
Float64P is like Float64, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) Float64Var ¶
Float64Var defines a float64 flag with specified name, default value, and usage string. The argument p points to a float64 variable in which to store the value of the flag.
func (*FlagSet) Float64VarP ¶
Float64VarP is like Float64Var, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) Int ¶
Int defines an int flag with specified name, default value, and usage string. The return value is the address of an int variable that stores the value of the flag.
func (*FlagSet) Int64 ¶
Int64 defines an int64 flag with specified name, default value, and usage string. The return value is the address of an int64 variable that stores the value of the flag.
func (*FlagSet) Int64P ¶
Int64P is like Int64, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) Int64Var ¶
Int64Var defines an int64 flag with specified name, default value, and usage string. The argument p points to an int64 variable in which to store the value of the flag.
func (*FlagSet) Int64VarP ¶
Int64VarP is like Int64Var, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) IntP ¶
IntP is like Int, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) IntSlice ¶
IntSlice defines an int slice flag with specified name, default value, and usage string. The return value is the address of a []int variable that stores the value of the flag.
func (*FlagSet) IntSliceP ¶
IntSliceP is like IntSlice, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) IntSliceVar ¶
IntSliceVar defines an int slice flag with specified name, default value, and usage string. The argument p points to a []int variable in which to store the value of the flag.
func (*FlagSet) IntSliceVarP ¶
IntSliceVarP is like IntSliceVar, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) IntVar ¶
IntVar defines an int flag with specified name, default value, and usage string. The argument p points to an int variable in which to store the value of the flag.
func (*FlagSet) IntVarP ¶
IntVarP is like IntVar, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) Lookup ¶
Lookup returns the Flag structure of the named flag, returning nil if none exists.
func (*FlagSet) Parse ¶
Parse parses flag definitions from the argument list, which should not include the command name. Must be called after all flags in the FlagSet are defined and before flags are accessed by the program. The return value will be ErrHelp if -help was set but not defined.
func (*FlagSet) PrintDefaults ¶
func (f *FlagSet) PrintDefaults()
PrintDefaults prints, to standard error unless configured otherwise, the default values of all defined flags in the set.
func (*FlagSet) SetOutput ¶
SetOutput sets the destination for usage and error messages. If output is nil, os.Stderr is used.
func (*FlagSet) String ¶
String defines a string flag with specified name, default value, and usage string. The return value is the address of a string variable that stores the value of the flag.
func (*FlagSet) StringP ¶
StringP is like String, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) StringSlice ¶
StringSlice defines a string slice flag with specified name, default value, and usage string. The return value is the address of a []string variable that stores the value of the flag.
func (*FlagSet) StringSliceP ¶
StringSliceP is like StringSlice, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) StringSliceVar ¶
StringSliceVar defines a string slice flag with specified name, default value, and usage string. The argument p points to a []string variable in which to store the value of the flag.
func (*FlagSet) StringSliceVarP ¶
func (f *FlagSet) StringSliceVarP(p *[]string, name, shorthand string, value []string, usage string)
StringSliceVarP is like StringSliceVar, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) StringVar ¶
StringVar defines a string flag with specified name, default value, and usage string. The argument p points to a string variable in which to store the value of the flag.
func (*FlagSet) StringVarP ¶
StringVarP is like StringVar, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) Uint ¶
Uint defines a uint flag with specified name, default value, and usage string. The return value is the address of a uint variable that stores the value of the flag.
func (*FlagSet) Uint64 ¶
Uint64 defines a uint64 flag with specified name, default value, and usage string. The return value is the address of a uint64 variable that stores the value of the flag.
func (*FlagSet) Uint64P ¶
Uint64P is like Uint64, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) Uint64Var ¶
Uint64Var defines a uint64 flag with specified name, default value, and usage string. The argument p points to a uint64 variable in which to store the value of the flag.
func (*FlagSet) Uint64VarP ¶
Uint64VarP is like Uint64Var, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) UintP ¶
UintP is like Uint, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) UintVar ¶
UintVar defines a uint flag with specified name, default value, and usage string. The argument p points to a uint variable in which to store the value of the flag.
func (*FlagSet) UintVarP ¶
UintVarP is like UintVar, but accepts a shorthand letter that can be used after a single dash.
func (*FlagSet) Var ¶
Var defines a flag with the specified name and usage string. The type and value of the flag are represented by the first argument, of type Value, which typically holds a user-defined implementation of Value. For instance, the caller could create a flag that turns a comma-separated string into a slice of strings by giving the slice the methods of Value; in particular, Set would decompose the comma-separated string into the slice.
func (*FlagSet) VarP ¶
VarP is like Var, but accepts a shorthand letter that can be used after a single dash.
type NormalizedName ¶
type NormalizedName string
NormalizedName is a flag name that has been normalized according to rules for the FlagSet (e.g. making '-' and '_' equivalent).