Documentation
¶
Index ¶
- func IsHelpRequested(err error) bool
- func IsVersionRequested(err error) bool
- func RequestHelp(msg string) error
- func RequestVersion(msg string) error
- type ErrorHandling
- type FlagPrintMode
- type FlagSet
- func (f *FlagSet) AddGroup(name string, g *core.MutualGroup)
- func (f *FlagSet) Arg(i int) (string, bool)
- func (f *FlagSet) Args() []string
- func (f *FlagSet) AttachToGroup(bf *core.BaseFlag, group string)
- func (f *FlagSet) Authors(s string)
- func (f *FlagSet) Bool(name string, def bool, usage string) *scalar.BoolFlag
- func (f *FlagSet) BoolVar(ptr *bool, name string, def bool, usage string) *scalar.BoolFlag
- func (f *FlagSet) BytesSliceVar(ptr *[]uint64, name string, def []uint64, usage string) *slice.SliceFlag[uint64]
- func (f *FlagSet) BytesVar(ptr *uint64, name string, def uint64, usage string) *scalar.ScalarFlag[uint64]
- func (f *FlagSet) CounterVar(ptr *int, name string, def int, usage string) *scalar.CounterFlag
- func (f *FlagSet) DefaultDelimiter() string
- func (f *FlagSet) DescIndent() int
- func (f *FlagSet) DescWidth() int
- func (f *FlagSet) Description(s string)
- func (f *FlagSet) DisableHelp()
- func (f *FlagSet) DisableVersion()
- func (f *FlagSet) DurationSliceVar(ptr *[]time.Duration, name string, def []time.Duration, usage string) *slice.SliceFlag[time.Duration]
- func (f *FlagSet) DurationVar(ptr *time.Duration, name string, def time.Duration, usage string) *scalar.ScalarFlag[time.Duration]
- func (f *FlagSet) DynamicAutoUsageColumn(padding int) int
- func (f *FlagSet) DynamicGroup(name string) *dynamic.Group
- func (f *FlagSet) DynamicGroups() []*dynamic.Group
- func (f *FlagSet) DynamicUsageNote() string
- func (f *FlagSet) EnvPrefix(prefix string)
- func (f *FlagSet) FileSliceVar(ptr *[]*os.File, name string, def []*os.File, usage string) *slice.SliceFlag[*os.File]
- func (f *FlagSet) FileVar(ptr **os.File, name string, def *os.File, usage string) *scalar.ScalarFlag[*os.File]
- func (f *FlagSet) Float32SliceVar(ptr *[]float32, name string, def []float32, usage string) *slice.SliceFlag[float32]
- func (f *FlagSet) Float32Var(ptr *float32, name string, def float32, usage string) *scalar.ScalarFlag[float32]
- func (f *FlagSet) Float64SliceVar(ptr *[]float64, name string, def []float64, usage string) *slice.SliceFlag[float64]
- func (f *FlagSet) Float64Var(ptr *float64, name string, def float64, usage string) *scalar.ScalarFlag[float64]
- func (f *FlagSet) GetGroup(name string) *core.MutualGroup
- func (f *FlagSet) Globaldelimiter(s string)
- func (f *FlagSet) Groups() []*core.MutualGroup
- func (f *FlagSet) HideEnvs()
- func (f *FlagSet) IPSliceVar(ptr *[]net.IP, name string, def []net.IP, usage string) *slice.SliceFlag[net.IP]
- func (f *FlagSet) IPVar(ptr *net.IP, name string, def net.IP, usage string) *scalar.ScalarFlag[net.IP]
- func (f *FlagSet) IPv4MaskSliceVar(ptr *[]net.IPMask, name string, def []net.IPMask, usage string) *slice.SliceFlag[net.IPMask]
- func (f *FlagSet) IPv4MaskVar(ptr *net.IPMask, name string, def net.IPMask, usage string) *scalar.ScalarFlag[net.IPMask]
- func (f *FlagSet) IgnoreInvalidEnv(enable bool)
- func (f *FlagSet) IntSliceVar(ptr *[]int, name string, def []int, usage string) *slice.SliceFlag[int]
- func (f *FlagSet) IntVar(ptr *int, name string, def int, usage string) *scalar.ScalarFlag[int]
- func (f *FlagSet) LookupFlag(name string) *core.BaseFlag
- func (f *FlagSet) Name() string
- func (f *FlagSet) Note(s string)
- func (f *FlagSet) NoteIndent() int
- func (f *FlagSet) NoteWidth() int
- func (f *FlagSet) OrderedDynamicGroups() []*dynamic.Group
- func (f *FlagSet) OrderedStaticFlags() []*core.BaseFlag
- func (f *FlagSet) Output() io.Writer
- func (f *FlagSet) Parse(args []string) error
- func (f *FlagSet) PrintAuthors(w io.Writer)
- func (f *FlagSet) PrintDescription(w io.Writer, indent, maxWidth int)
- func (f *FlagSet) PrintDynamicDefaults(w io.Writer, indent, startCol, maxWidth int)
- func (f *FlagSet) PrintNotes(w io.Writer, indent, maxWidth int)
- func (f *FlagSet) PrintStaticDefaults(w io.Writer, indent, startCol, maxWidth int)
- func (f *FlagSet) PrintTitle(w io.Writer)
- func (f *FlagSet) PrintUsage(w io.Writer, mode FlagPrintMode)
- func (f *FlagSet) RegisterFlag(name string, bf *core.BaseFlag)
- func (f *FlagSet) RequirePositional(n int)
- func (f *FlagSet) SetDescIndent(n int)
- func (f *FlagSet) SetDescWidth(max int)
- func (f *FlagSet) SetDynamicUsageNote(s string)
- func (f *FlagSet) SetGetEnvFn(fn func(string) string)
- func (f *FlagSet) SetNoteIndent(n int)
- func (f *FlagSet) SetNoteWidth(max int)
- func (f *FlagSet) SetOutput(w io.Writer)
- func (f *FlagSet) SetStaticUsageNote(s string)
- func (f *FlagSet) SetUsageColumn(col int)
- func (f *FlagSet) SetUsageIndent(n int)
- func (f *FlagSet) SetUsageWidth(max int)
- func (f *FlagSet) SortedFlags(enable bool)
- func (f *FlagSet) SortedGroups(enable bool)
- func (f *FlagSet) StaticAutoUsageColumn(padding int) int
- func (f *FlagSet) StaticUsageNote() string
- func (f *FlagSet) StringSliceVar(ptr *[]string, name string, def []string, usage string) *slice.SliceFlag[string]
- func (f *FlagSet) StringVar(ptr *string, name string, def string, usage string) *scalar.ScalarFlag[string]
- func (f *FlagSet) TCPAddrSliceVar(ptr *[]*net.TCPAddr, name string, def []*net.TCPAddr, usage string) *slice.SliceFlag[*net.TCPAddr]
- func (f *FlagSet) TCPAddrVar(ptr **net.TCPAddr, name string, def *net.TCPAddr, usage string) *scalar.ScalarFlag[*net.TCPAddr]
- func (f *FlagSet) TimeSliceVar(ptr *[]time.Time, name string, def []time.Time, usage string) *slice.SliceFlag[time.Time]
- func (f *FlagSet) TimeVar(ptr *time.Time, name string, def time.Time, usage string) *scalar.ScalarFlag[time.Time]
- func (f *FlagSet) Title(s string)
- func (f *FlagSet) URLSliceVar(ptr *[]*url.URL, name string, def []*url.URL, usage string) *slice.SliceFlag[*url.URL]
- func (f *FlagSet) URLVar(ptr **url.URL, name string, def *url.URL, usage string) *scalar.ScalarFlag[*url.URL]
- func (f *FlagSet) UsageColumn() int
- func (f *FlagSet) UsageIndent() int
- func (f *FlagSet) UsageWidth() int
- func (f *FlagSet) Version(s string)
- type HelpRequested
- type VersionRequested
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsHelpRequested ¶
IsHelpRequested checks if the error is a HelpRequested sentinel.
func IsVersionRequested ¶
IsVersionRequested checks if the error is a VersionRequested sentinel
func RequestHelp ¶
RequestHelp returns an error with type HelpRequested and the given message.
func RequestVersion ¶
RequestVersion returns an error with type VersionRequested and the given message.
Types ¶
type ErrorHandling ¶
type ErrorHandling int
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 FlagPrintMode ¶
type FlagPrintMode int
FlagPrintMode defines how usage should be rendered.
const ( PrintShort FlagPrintMode = iota // e.g. -v PrintLong // e.g. --verbose PrintBoth // e.g. -v|--verbose PrintFlags // prints only [flags] PrintNone // prints nothing )
type FlagSet ¶
type FlagSet struct {
Usage func() // Custom usage function (optional)
// contains filtered or unexported fields
}
FlagSet manages the definition, parsing, and usage output of command-line flags.
func NewFlagSet ¶
func NewFlagSet(name string, errorHandling ErrorHandling) *FlagSet
NewFlagSet creates a new FlagSet with the given name and error handling policy.
func (*FlagSet) BytesSliceVar ¶
func (f *FlagSet) BytesSliceVar(ptr *[]uint64, name string, def []uint64, usage string) *slice.SliceFlag[uint64]
BytesVar defines a uint64 “bytes” flag (e.g. "1GB", "512M").
func (*FlagSet) BytesVar ¶
func (f *FlagSet) BytesVar(ptr *uint64, name string, def uint64, usage string) *scalar.ScalarFlag[uint64]
BytesVar defines a uint64 “bytes” flag (e.g. "1GB", "512M").
func (*FlagSet) CounterVar ¶
CounterVar defines a counter flag.
func (*FlagSet) DefaultDelimiter ¶
func (*FlagSet) DescIndent ¶ added in v0.0.23
func (*FlagSet) Description ¶
func (*FlagSet) DisableHelp ¶
func (f *FlagSet) DisableHelp()
func (*FlagSet) DisableVersion ¶
func (f *FlagSet) DisableVersion()
func (*FlagSet) DurationSliceVar ¶
func (f *FlagSet) DurationSliceVar(ptr *[]time.Duration, name string, def []time.Duration, usage string) *slice.SliceFlag[time.Duration]
DurationVar defines a time.Duration flag.
func (*FlagSet) DurationVar ¶
func (f *FlagSet) DurationVar(ptr *time.Duration, name string, def time.Duration, usage string) *scalar.ScalarFlag[time.Duration]
DurationVar defines a time.Duration flag.
func (*FlagSet) DynamicAutoUsageColumn ¶ added in v0.0.23
func (*FlagSet) DynamicGroups ¶ added in v0.0.9
func (*FlagSet) DynamicUsageNote ¶ added in v0.0.23
func (*FlagSet) FileSliceVar ¶
func (f *FlagSet) FileSliceVar(ptr *[]*os.File, name string, def []*os.File, usage string) *slice.SliceFlag[*os.File]
FileVar defines an *os.File flag (opened for reading).
func (*FlagSet) FileVar ¶
func (f *FlagSet) FileVar(ptr **os.File, name string, def *os.File, usage string) *scalar.ScalarFlag[*os.File]
FileVar defines an *os.File flag (opened for reading).
func (*FlagSet) Float32SliceVar ¶
func (f *FlagSet) Float32SliceVar(ptr *[]float32, name string, def []float32, usage string) *slice.SliceFlag[float32]
Float32Var defines a float32 flag.
func (*FlagSet) Float32Var ¶
func (f *FlagSet) Float32Var(ptr *float32, name string, def float32, usage string) *scalar.ScalarFlag[float32]
Float32Var defines a float32 flag.
func (*FlagSet) Float64SliceVar ¶
func (f *FlagSet) Float64SliceVar(ptr *[]float64, name string, def []float64, usage string) *slice.SliceFlag[float64]
Float64Var defines a float64 flag.
func (*FlagSet) Float64Var ¶
func (f *FlagSet) Float64Var(ptr *float64, name string, def float64, usage string) *scalar.ScalarFlag[float64]
Float64Var defines a float64 flag.
func (*FlagSet) Globaldelimiter ¶
func (*FlagSet) Groups ¶
func (f *FlagSet) Groups() []*core.MutualGroup
func (*FlagSet) IPSliceVar ¶
func (f *FlagSet) IPSliceVar(ptr *[]net.IP, name string, def []net.IP, usage string) *slice.SliceFlag[net.IP]
IPVar defines a net.IP flag.
func (*FlagSet) IPVar ¶
func (f *FlagSet) IPVar(ptr *net.IP, name string, def net.IP, usage string) *scalar.ScalarFlag[net.IP]
IPVar defines a net.IP flag.
func (*FlagSet) IPv4MaskSliceVar ¶
func (f *FlagSet) IPv4MaskSliceVar(ptr *[]net.IPMask, name string, def []net.IPMask, usage string) *slice.SliceFlag[net.IPMask]
IPv4MaskVar defines a net.IPMask flag.
func (*FlagSet) IPv4MaskVar ¶
func (f *FlagSet) IPv4MaskVar(ptr *net.IPMask, name string, def net.IPMask, usage string) *scalar.ScalarFlag[net.IPMask]
IPv4MaskVar defines a net.IPMask flag.
func (*FlagSet) IgnoreInvalidEnv ¶
func (*FlagSet) IntSliceVar ¶
func (f *FlagSet) IntSliceVar(ptr *[]int, name string, def []int, usage string) *slice.SliceFlag[int]
IntVar defines an int flag.
func (*FlagSet) LookupFlag ¶ added in v0.0.19
func (*FlagSet) NoteIndent ¶ added in v0.0.23
func (*FlagSet) OrderedDynamicGroups ¶ added in v0.0.19
func (*FlagSet) OrderedStaticFlags ¶ added in v0.0.19
func (*FlagSet) Parse ¶
Parse parses CLI arguments, env vars, built-in help/version, and validations.
func (*FlagSet) PrintAuthors ¶
PrintAuthors writes usage author heading.
func (*FlagSet) PrintDescription ¶
PrintDescription renders description block above flags.
func (*FlagSet) PrintDynamicDefaults ¶ added in v0.0.23
PrintDynamicDefaults renders all dynamic groups.
func (*FlagSet) PrintNotes ¶
PrintNotes renders notes block below flags.
func (*FlagSet) PrintStaticDefaults ¶ added in v0.0.23
PrintStaticDefaults renders all statically registered flags.
func (*FlagSet) PrintTitle ¶
PrintTitle writes usage title heading.
func (*FlagSet) PrintUsage ¶
func (f *FlagSet) PrintUsage(w io.Writer, mode FlagPrintMode)
PrintUsage prints a usage line depending on mode.
func (*FlagSet) RequirePositional ¶
func (*FlagSet) SetDescIndent ¶ added in v0.0.23
func (*FlagSet) SetDescWidth ¶ added in v0.0.23
func (*FlagSet) SetDynamicUsageNote ¶ added in v0.0.23
func (*FlagSet) SetGetEnvFn ¶
func (*FlagSet) SetNoteIndent ¶ added in v0.0.23
func (*FlagSet) SetNoteWidth ¶ added in v0.0.23
func (*FlagSet) SetStaticUsageNote ¶ added in v0.0.23
func (*FlagSet) SetUsageColumn ¶ added in v0.0.23
func (*FlagSet) SetUsageIndent ¶ added in v0.0.23
func (*FlagSet) SetUsageWidth ¶ added in v0.0.23
func (*FlagSet) SortedFlags ¶ added in v0.0.20
func (*FlagSet) SortedGroups ¶ added in v0.0.20
func (*FlagSet) StaticAutoUsageColumn ¶ added in v0.0.23
func (*FlagSet) StaticUsageNote ¶ added in v0.0.23
func (*FlagSet) StringSliceVar ¶
func (f *FlagSet) StringSliceVar(ptr *[]string, name string, def []string, usage string) *slice.SliceFlag[string]
StringVar defines a string flag.
func (*FlagSet) StringVar ¶
func (f *FlagSet) StringVar(ptr *string, name string, def string, usage string) *scalar.ScalarFlag[string]
StringVar defines a string flag.
func (*FlagSet) TCPAddrSliceVar ¶
func (f *FlagSet) TCPAddrSliceVar(ptr *[]*net.TCPAddr, name string, def []*net.TCPAddr, usage string) *slice.SliceFlag[*net.TCPAddr]
TCPAddrVar defines a *net.TCPAddr flag.
func (*FlagSet) TCPAddrVar ¶
func (f *FlagSet) TCPAddrVar(ptr **net.TCPAddr, name string, def *net.TCPAddr, usage string) *scalar.ScalarFlag[*net.TCPAddr]
TCPAddrVar defines a *net.TCPAddr flag.
func (*FlagSet) TimeSliceVar ¶
func (f *FlagSet) TimeSliceVar(ptr *[]time.Time, name string, def []time.Time, usage string) *slice.SliceFlag[time.Time]
TimeVar defines a time.Time flag (parsed as RFC3339).
func (*FlagSet) TimeVar ¶
func (f *FlagSet) TimeVar(ptr *time.Time, name string, def time.Time, usage string) *scalar.ScalarFlag[time.Time]
TimeVar defines a time.Time flag (parsed as RFC3339).
func (*FlagSet) URLSliceVar ¶
func (f *FlagSet) URLSliceVar(ptr *[]*url.URL, name string, def []*url.URL, usage string) *slice.SliceFlag[*url.URL]
URLVar defines a url.URL flag.
func (*FlagSet) URLVar ¶
func (f *FlagSet) URLVar(ptr **url.URL, name string, def *url.URL, usage string) *scalar.ScalarFlag[*url.URL]
URLVar defines a url.URL flag.
func (*FlagSet) UsageColumn ¶ added in v0.0.23
func (*FlagSet) UsageIndent ¶ added in v0.0.23
func (*FlagSet) UsageWidth ¶ added in v0.0.23
type HelpRequested ¶
type HelpRequested struct {
Message string // The full help message to show the user
}
HelpRequested is returned when the built-in help flag (-h or --help) is triggered.
func (*HelpRequested) Error ¶
func (e *HelpRequested) Error() string
Error returns the help message, satisfying the error interface.
type VersionRequested ¶
type VersionRequested struct {
Version string // The version string to show the user
}
VersionRequested is returned when the built-in version flag (--version) is triggered.
func (*VersionRequested) Error ¶
func (e *VersionRequested) Error() string
Error returns the version string, satisfying the error interface.