Documentation
ΒΆ
Overview ΒΆ
Package tinyflags provides a high-level API for defining and parsing CLI flags with support for dynamic groups, custom types, and rich usage output.
Index ΒΆ
- Constants
- Variables
- func FirstChanged[T any](defaultValue T, flags ...Flag[T]) (T, bool)
- func GetDynamic[T any](group *dynamic.Group, id, flag string) (T, error)
- func GetOrDefaultDynamic[T any](group *dynamic.Group, id, flag string) T
- func MustGetDynamic[T any](group *dynamic.Group, id, flag string) T
- type DynamicGroup
- type ErrorHandling
- type Flag
- type FlagPrintMode
- type FlagSet
- func (f *FlagSet) AddAllOrNoneGroup(name string, g *core.AllOrNoneGroup)
- func (f *FlagSet) AddOneOfGroup(name string, g *core.OneOfGroupGroup)
- func (f *FlagSet) AllOrNoneGroup() []*core.AllOrNoneGroup
- func (f *FlagSet) Arg(i int) (string, bool)
- func (f *FlagSet) Args() []string
- func (f *FlagSet) AttachGroupToAllOrNone(parent, child string)
- func (f *FlagSet) AttachGroupToOneOf(group, name string)
- func (f *FlagSet) AttachToAllOrNoneGroup(flag *core.BaseFlag, group string)
- func (f *FlagSet) AttachToOneOfGroup(flag *core.BaseFlag, group string)
- func (f *FlagSet) Authors(s string)
- func (f *FlagSet) BeforeParse(fn func([]string) ([]string, error))
- 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) Bytes(name string, def uint64, usage string) *scalar.ScalarFlag[uint64]
- func (f *FlagSet) BytesSlice(name string, def []uint64, usage string) *slice.SliceFlag[uint64]
- 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) Counter(name string, def int, usage string) *scalar.CounterFlag
- 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) Duration(name string, def time.Duration, usage string) *scalar.ScalarFlag[time.Duration]
- func (f *FlagSet) DurationSlice(name string, def []time.Duration, usage string) *slice.SliceFlag[time.Duration]
- 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) DynamicUsageColumn() int
- func (f *FlagSet) DynamicUsageIndent() int
- func (f *FlagSet) DynamicUsageNote() string
- func (f *FlagSet) DynamicUsageWidth() int
- func (f *FlagSet) EnvKeyForFlag(name string) string
- func (f *FlagSet) EnvPrefix(s string)
- func (f *FlagSet) File(name string, def *os.File, usage string) *scalar.ScalarFlag[*os.File]
- func (f *FlagSet) FileSlice(name string, def []*os.File, usage string) *slice.SliceFlag[*os.File]
- 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) Float32(name string, def float32, usage string) *scalar.ScalarFlag[float32]
- func (f *FlagSet) Float32Slice(name string, def []float32, usage string) *slice.SliceFlag[float32]
- 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) Float64(name string, def float64, usage string) *scalar.ScalarFlag[float64]
- func (f *FlagSet) Float64Slice(name string, def []float64, usage string) *slice.SliceFlag[float64]
- 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) GetAllOrNoneGroup(name string) *core.AllOrNoneGroup
- func (f *FlagSet) GetOneOfGroup(name string) *core.OneOfGroupGroup
- func (f *FlagSet) Globaldelimiter(s string)
- func (f *FlagSet) Help() *HelpOptions
- func (f *FlagSet) HelpText(s string)
- func (f *FlagSet) HideEnvs()
- func (f *FlagSet) IP(name string, def net.IP, usage string) *scalar.ScalarFlag[net.IP]
- func (f *FlagSet) IPMask(name string, def net.IPMask, usage string) *scalar.ScalarFlag[net.IPMask]
- func (f *FlagSet) IPMaskSlice(name string, def []net.IPMask, usage string) *slice.SliceFlag[net.IPMask]
- func (f *FlagSet) IPMaskSliceVar(ptr *[]net.IPMask, name string, def []net.IPMask, usage string) *slice.SliceFlag[net.IPMask]
- func (f *FlagSet) IPSlice(name string, def []net.IP, usage string) *slice.SliceFlag[net.IP]
- 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) IPv4MaskVar(ptr *net.IPMask, name string, def net.IPMask, usage string) *scalar.ScalarFlag[net.IPMask]
- func (f *FlagSet) IgnoreInvalidEnv(b bool)
- func (f *FlagSet) Int(name string, def int, usage string) *scalar.ScalarFlag[int]
- func (f *FlagSet) Int32(name string, def int32, usage string) *scalar.ScalarFlag[int32]
- func (f *FlagSet) Int32Slice(name string, def []int32, usage string) *slice.SliceFlag[int32]
- func (f *FlagSet) Int32SliceVar(ptr *[]int32, name string, def []int32, usage string) *slice.SliceFlag[int32]
- func (f *FlagSet) Int32Var(ptr *int32, name string, def int32, usage string) *scalar.ScalarFlag[int32]
- func (f *FlagSet) Int64(name string, def int64, usage string) *scalar.ScalarFlag[int64]
- func (f *FlagSet) Int64Slice(name string, def []int64, usage string) *slice.SliceFlag[int64]
- func (f *FlagSet) Int64SliceVar(ptr *[]int64, name string, def []int64, usage string) *slice.SliceFlag[int64]
- func (f *FlagSet) Int64Var(ptr *int64, name string, def int64, usage string) *scalar.ScalarFlag[int64]
- func (f *FlagSet) IntSlice(name string, def []int, usage string) *slice.SliceFlag[int]
- 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) Layout() *LayoutOptions
- func (f *FlagSet) LookupFlag(name string) *core.BaseFlag
- func (f *FlagSet) Name() string
- func (f *FlagSet) NewReplacerEnvKeyFunc(replacer *strings.Replacer, upper bool) engine.EnvKeyFunc
- func (f *FlagSet) Note(s string)
- func (f *FlagSet) NoteIndent() int
- func (f *FlagSet) NoteWidth() int
- func (f *FlagSet) OnUnknownFlag(fn func(string) error)
- func (f *FlagSet) OneOfGroups() []*core.OneOfGroupGroup
- 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, width int)
- func (f *FlagSet) PrintDynamicDefaults(w io.Writer, indent, col, width int)
- func (f *FlagSet) PrintNotes(w io.Writer, indent, width int)
- func (f *FlagSet) PrintStaticDefaults(w io.Writer, indent, col, width int)
- func (f *FlagSet) PrintTitle(w io.Writer)
- func (f *FlagSet) PrintUsage(w io.Writer, mode FlagPrintMode)
- func (f *FlagSet) RequirePositional(n int)
- func (f *FlagSet) SetDescIndent(n int)
- func (f *FlagSet) SetDescWidth(max int)
- func (f *FlagSet) SetDynamicUsageColumn(col int)
- func (f *FlagSet) SetDynamicUsageIndent(n int)
- func (f *FlagSet) SetDynamicUsageNote(s string)
- func (f *FlagSet) SetDynamicUsageWidth(max int)
- func (f *FlagSet) SetEnvKeyFunc(fn engine.EnvKeyFunc)
- 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) SetPositionalFinalize(fn func(string) string)
- func (f *FlagSet) SetPositionalValidate(fn func(string) error)
- func (f *FlagSet) SetStaticUsageColumn(col int)
- func (f *FlagSet) SetStaticUsageIndent(n int)
- func (f *FlagSet) SetStaticUsageNote(s string)
- func (f *FlagSet) SetStaticUsageWidth(maxWidth int)
- func (f *FlagSet) SortedFlags()
- func (f *FlagSet) SortedGroups()
- func (f *FlagSet) StaticAutoUsageColumn(padding int) int
- func (f *FlagSet) StaticUsageColumn() int
- func (f *FlagSet) StaticUsageIndent() int
- func (f *FlagSet) StaticUsageNote() string
- func (f *FlagSet) StaticUsageWidth() int
- func (f *FlagSet) String(name string, def string, usage string) *scalar.ScalarFlag[string]
- func (f *FlagSet) StringSlice(name string, def []string, usage string) *slice.SliceFlag[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) TCPAddr(name string, def *net.TCPAddr, usage string) *scalar.ScalarFlag[*net.TCPAddr]
- func (f *FlagSet) TCPAddrSlice(name string, def []*net.TCPAddr, usage string) *slice.SliceFlag[*net.TCPAddr]
- 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) Time(name string, def time.Time, usage string) *scalar.ScalarFlag[time.Time]
- func (f *FlagSet) TimeSlice(name string, def []time.Time, usage string) *slice.SliceFlag[time.Time]
- 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) URL(name string, def *url.URL, usage string) *scalar.ScalarFlag[*url.URL]
- func (f *FlagSet) URLSlice(name string, def []*url.URL, usage string) *slice.SliceFlag[*url.URL]
- 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) Version(s string)
- func (f *FlagSet) VersionText(s string)
- type HelpOptions
- func (h *HelpOptions) Authors(s string)
- func (h *HelpOptions) Description(s string)
- func (h *HelpOptions) DisableHelp()
- func (h *HelpOptions) DisableVersion()
- func (h *HelpOptions) HelpText(s string)
- func (h *HelpOptions) Note(s string)
- func (h *HelpOptions) Title(s string)
- func (h *HelpOptions) VersionText(s string)
- type HelpRequested
- type LayoutOptions
- func (l *LayoutOptions) SetDescIndent(n int)
- func (l *LayoutOptions) SetDescWidth(max int)
- func (l *LayoutOptions) SetDynamicUsageColumn(col int)
- func (l *LayoutOptions) SetDynamicUsageIndent(n int)
- func (l *LayoutOptions) SetDynamicUsageNote(s string)
- func (l *LayoutOptions) SetDynamicUsageWidth(max int)
- func (l *LayoutOptions) SetNoteIndent(n int)
- func (l *LayoutOptions) SetNoteWidth(max int)
- func (l *LayoutOptions) SetStaticUsageColumn(col int)
- func (l *LayoutOptions) SetStaticUsageIndent(n int)
- func (l *LayoutOptions) SetStaticUsageNote(s string)
- func (l *LayoutOptions) SetStaticUsageWidth(maxWidth int)
- type StaticFlag
- type VersionRequested
Constants ΒΆ
const ( ContinueOnError = engine.ContinueOnError // Continue and return error ExitOnError = engine.ExitOnError // Exit with error message PanicOnError = engine.PanicOnError // Panic on error )
const ( PrintNone = engine.PrintNone // Omits usage line entirely PrintFlags = engine.PrintFlags // Prints: [flags] PrintShort = engine.PrintShort // Prints: -v PrintLong = engine.PrintLong // Prints: --verbose PrintBoth = engine.PrintBoth // Prints: -v|--verbose )
Variables ΒΆ
var ( IsHelpRequested = engine.IsHelpRequested IsVersionRequested = engine.IsVersionRequested RequestHelp = engine.RequestHelp RequestVersion = engine.RequestVersion )
Functions ΒΆ
func FirstChanged ΒΆ added in v0.0.56
FirstChanged returns the value of the first changed flag in the given order. If no flag was changed, it returns defaultValue and false.
func GetDynamic ΒΆ added in v0.0.10
GetDynamic retrieves the value for a dynamic flag by group, id, and field name.
func GetOrDefaultDynamic ΒΆ added in v0.0.14
GetOrDefaultDynamic returns the value for a dynamic flag or its default.
Types ΒΆ
type DynamicGroup ΒΆ added in v0.0.23
Exported types for advanced access.
type ErrorHandling ΒΆ
type ErrorHandling = engine.ErrorHandling
ErrorHandling defines how parsing errors are handled.
type FlagPrintMode ΒΆ
type FlagPrintMode = engine.FlagPrintMode
FlagPrintMode controls how the usage line is rendered.
type FlagSet ΒΆ
type FlagSet struct {
Usage func() // Optional custom usage function
// contains filtered or unexported fields
}
FlagSet is the user-facing flag parser and usage configurator.
func NewFlagSet ΒΆ
func NewFlagSet(name string, handling ErrorHandling) *FlagSet
NewFlagSet creates a new flag set with the given name and error handling mode.
func (*FlagSet) AddAllOrNoneGroup ΒΆ added in v0.0.36
func (f *FlagSet) AddAllOrNoneGroup(name string, g *core.AllOrNoneGroup)
AddAllOrNoneGroup adds a AllOrNoneGroup group.
func (*FlagSet) AddOneOfGroup ΒΆ added in v0.0.36
func (f *FlagSet) AddOneOfGroup(name string, g *core.OneOfGroupGroup)
AddOneOfGroup adds a AddOneOfGroup group.
func (*FlagSet) AllOrNoneGroup ΒΆ added in v0.0.36
func (f *FlagSet) AllOrNoneGroup() []*core.AllOrNoneGroup
AllOrNoneGroup returns all registered AllOrNoneGroup group.
func (*FlagSet) AttachGroupToAllOrNone ΒΆ added in v0.0.52
AttachGroupToAllOrNone nests one AllOrNone group into another.
func (*FlagSet) AttachGroupToOneOf ΒΆ added in v0.0.52
AttachGroupToOneOf adds an AllOrNone group to a OneOf group.
func (*FlagSet) AttachToAllOrNoneGroup ΒΆ added in v0.0.36
AttachToAllOrNoneGroup attaches a flag to a AllOrNoneGroup group.
func (*FlagSet) AttachToOneOfGroup ΒΆ added in v0.0.36
AttachToOneOfGroup attaches a static flag to a OneOfGroup group.
func (*FlagSet) BeforeParse ΒΆ added in v0.0.52
BeforeParse installs a hook to mutate arguments before parsing.
func (*FlagSet) Bool ΒΆ
Bool defines a bool flag. If Strict() is enabled, it must be set explicitly (--flag=true/false).
func (*FlagSet) BoolVar ΒΆ
BoolVar defines a bool flag and binds it to the given pointer. If Strict() is enabled, it must be set explicitly (--flag=true/false).
func (*FlagSet) Bytes ΒΆ added in v0.0.8
Bytes defines a uint64 flag that parses sizes (e.g., "10MB") and returns its handle.
func (*FlagSet) BytesSlice ΒΆ added in v0.0.8
BytesSlice defines a []uint64 βbytesβ flag and returns its handle.
func (*FlagSet) BytesSliceVar ΒΆ added in v0.0.8
func (f *FlagSet) BytesSliceVar(ptr *[]uint64, name string, def []uint64, usage string) *slice.SliceFlag[uint64]
BytesSliceVar defines a []uint64 flag that parses human-readable sizes and binds it to the given pointer.
func (*FlagSet) BytesVar ΒΆ added in v0.0.8
func (f *FlagSet) BytesVar(ptr *uint64, name string, def uint64, usage string) *scalar.ScalarFlag[uint64]
BytesVar defines a uint64 flag with byte parsing and binds it to the given pointer.
func (*FlagSet) Counter ΒΆ added in v0.0.8
Counter defines a counter flag that increments with each occurrence.
func (*FlagSet) CounterVar ΒΆ added in v0.0.8
CounterVar defines a counter flag and binds it to the given pointer.
func (*FlagSet) DefaultDelimiter ΒΆ added in v0.0.8
DefaultDelimiter returns the delimiter used for slice flags.
func (*FlagSet) DescIndent ΒΆ added in v0.0.23
DescIndent returns the current indent used for the description block.
func (*FlagSet) DescWidth ΒΆ added in v0.0.23
DescWidth returns the wrapping width for the description block.
func (*FlagSet) Description ΒΆ
Description sets the top description section of the help output.
func (*FlagSet) DisableHelp ΒΆ
func (f *FlagSet) DisableHelp()
DisableHelp disables the automatic --help flag.
func (*FlagSet) DisableVersion ΒΆ
func (f *FlagSet) DisableVersion()
DisableVersion disables the automatic --version flag.
func (*FlagSet) Duration ΒΆ
func (f *FlagSet) Duration(name string, def time.Duration, usage string) *scalar.ScalarFlag[time.Duration]
Duration defines a time.Duration flag and returns its handle.
func (*FlagSet) DurationSlice ΒΆ
func (f *FlagSet) DurationSlice(name string, def []time.Duration, usage string) *slice.SliceFlag[time.Duration]
DurationSlice defines a []time.Duration flag and returns its handle.
func (*FlagSet) DurationSliceVar ΒΆ
func (f *FlagSet) DurationSliceVar(ptr *[]time.Duration, name string, def []time.Duration, usage string) *slice.SliceFlag[time.Duration]
DurationSliceVar defines a []time.Duration flag and binds it to the given pointer.
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 and binds it to the given pointer.
func (*FlagSet) DynamicAutoUsageColumn ΒΆ added in v0.0.23
DynamicAutoUsageColumn computes a good usage column for dynamic flags.
func (*FlagSet) DynamicGroup ΒΆ added in v0.0.8
DynamicGroup registers or retrieves a dynamic group by name.
func (*FlagSet) DynamicGroups ΒΆ added in v0.0.9
DynamicGroups returns all dynamic groups in registration order.
func (*FlagSet) DynamicUsageColumn ΒΆ added in v0.0.25
DynamicUsageColumn returns the description column for dynamic flags.
func (*FlagSet) DynamicUsageIndent ΒΆ added in v0.0.25
DynamicUsageIndent returns the dynamic flag usage indent.
func (*FlagSet) DynamicUsageNote ΒΆ added in v0.0.23
DynamicUsageNote returns the dynamic flag section note.
func (*FlagSet) DynamicUsageWidth ΒΆ added in v0.0.25
DynamicUsageWidth returns the wrapping width for dynamic flag descriptions.
func (*FlagSet) EnvKeyForFlag ΒΆ added in v0.0.43
EnvKeyForFlag derives the env key for a flag.
func (*FlagSet) FileSliceVar ΒΆ
func (f *FlagSet) FileSliceVar(ptr *[]*os.File, name string, def []*os.File, usage string) *slice.SliceFlag[*os.File]
FileSliceVar defines a []*os.File flag and binds it to the given pointer.
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 and binds it to the given pointer.
func (*FlagSet) Float32Slice ΒΆ
Float32Slice defines a []float32 flag and returns its handle.
func (*FlagSet) Float32SliceVar ΒΆ
func (f *FlagSet) Float32SliceVar(ptr *[]float32, name string, def []float32, usage string) *slice.SliceFlag[float32]
Float32SliceVar defines a []float32 flag and binds it to the given pointer.
func (*FlagSet) Float32Var ΒΆ
func (f *FlagSet) Float32Var(ptr *float32, name string, def float32, usage string) *scalar.ScalarFlag[float32]
Float32Var defines a float32 flag and binds it to the given pointer.
func (*FlagSet) Float64Slice ΒΆ
Float64Slice defines a []float64 flag and returns its handle.
func (*FlagSet) Float64SliceVar ΒΆ
func (f *FlagSet) Float64SliceVar(ptr *[]float64, name string, def []float64, usage string) *slice.SliceFlag[float64]
Float64SliceVar defines a []float64 flag and binds it to the given pointer.
func (*FlagSet) Float64Var ΒΆ
func (f *FlagSet) Float64Var(ptr *float64, name string, def float64, usage string) *scalar.ScalarFlag[float64]
Float64Var defines a float64 flag and binds it to the given pointer.
func (*FlagSet) GetAllOrNoneGroup ΒΆ added in v0.0.36
func (f *FlagSet) GetAllOrNoneGroup(name string) *core.AllOrNoneGroup
GetAllOrNoneGroup retrieves or creates a named AllOrNoneGroup group.
func (*FlagSet) GetOneOfGroup ΒΆ added in v0.0.36
func (f *FlagSet) GetOneOfGroup(name string) *core.OneOfGroupGroup
GetOneOfGroup retrieves or creates a named OneOfGroup group.
func (*FlagSet) Globaldelimiter ΒΆ
Globaldelimiter sets the delimiter used for all slice flags.
func (*FlagSet) Help ΒΆ added in v0.0.52
func (f *FlagSet) Help() *HelpOptions
Help returns grouped helpers for configuring help/usage output.
func (*FlagSet) HideEnvs ΒΆ added in v0.0.23
func (f *FlagSet) HideEnvs()
HideEnvs disables all env-var annotations in help output.
func (*FlagSet) IPMaskSlice ΒΆ
func (f *FlagSet) IPMaskSlice(name string, def []net.IPMask, usage string) *slice.SliceFlag[net.IPMask]
IPMaskSlice defines a []net.IPMask flag and returns its handle.
func (*FlagSet) IPMaskSliceVar ΒΆ
func (f *FlagSet) IPMaskSliceVar(ptr *[]net.IPMask, name string, def []net.IPMask, usage string) *slice.SliceFlag[net.IPMask]
IPMaskSliceVar defines a []net.IPMask flag and binds it to the given pointer.
func (*FlagSet) IPSliceVar ΒΆ
func (f *FlagSet) IPSliceVar(ptr *[]net.IP, name string, def []net.IP, usage string) *slice.SliceFlag[net.IP]
IPSliceVar defines a []net.IP flag and binds it to the given pointer.
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 and binds it to the given pointer.
func (*FlagSet) IPv4MaskVar ΒΆ added in v0.0.8
func (f *FlagSet) IPv4MaskVar(ptr *net.IPMask, name string, def net.IPMask, usage string) *scalar.ScalarFlag[net.IPMask]
IPv4MaskVar defines a net.IPMask flag and binds it to the given pointer.
func (*FlagSet) IgnoreInvalidEnv ΒΆ
IgnoreInvalidEnv disables errors for unrecognized environment values.
func (*FlagSet) Int32Slice ΒΆ added in v0.0.50
Int32Slice defines a []int32 flag and returns its handle.
func (*FlagSet) Int32SliceVar ΒΆ added in v0.0.50
func (f *FlagSet) Int32SliceVar(ptr *[]int32, name string, def []int32, usage string) *slice.SliceFlag[int32]
Int32SliceVar defines a []int32 flag and binds it to the given pointer.
func (*FlagSet) Int32Var ΒΆ added in v0.0.50
func (f *FlagSet) Int32Var(ptr *int32, name string, def int32, usage string) *scalar.ScalarFlag[int32]
Int32Var defines an int flag and binds it to the given pointer.
func (*FlagSet) Int64Slice ΒΆ added in v0.0.50
Int64Slice defines a []int64 flag and returns its handle.
func (*FlagSet) Int64SliceVar ΒΆ added in v0.0.50
func (f *FlagSet) Int64SliceVar(ptr *[]int64, name string, def []int64, usage string) *slice.SliceFlag[int64]
Int64SliceVar defines a []int64 flag and binds it to the given pointer.
func (*FlagSet) Int64Var ΒΆ added in v0.0.50
func (f *FlagSet) Int64Var(ptr *int64, name string, def int64, usage string) *scalar.ScalarFlag[int64]
Int64Var defines an int flag and binds it to the given pointer.
func (*FlagSet) IntSliceVar ΒΆ
func (f *FlagSet) IntSliceVar(ptr *[]int, name string, def []int, usage string) *slice.SliceFlag[int]
IntSliceVar defines a []int flag and binds it to the given pointer.
func (*FlagSet) Layout ΒΆ added in v0.0.52
func (f *FlagSet) Layout() *LayoutOptions
Layout returns grouped helpers for configuring usage layout.
func (*FlagSet) LookupFlag ΒΆ added in v0.0.19
LookupFlag retrieves a static flag by name.
func (*FlagSet) NewReplacerEnvKeyFunc ΒΆ added in v0.0.43
NewReplacerEnvKeyFunc builds an EnvKeyFunc that: - returns "" when prefix is empty - applies the given replacer to the flag name - joins prefix + "_" + transformed name - upper-cases the result (if upper is true)
func (*FlagSet) NoteIndent ΒΆ added in v0.0.23
NoteIndent returns the note section indentation.
func (*FlagSet) OnUnknownFlag ΒΆ added in v0.0.52
OnUnknownFlag installs a handler for unknown flags. Return nil to ignore.
func (*FlagSet) OneOfGroups ΒΆ added in v0.0.36
func (f *FlagSet) OneOfGroups() []*core.OneOfGroupGroup
OneOfGroups returns all registered OneOfGroups groups.
func (*FlagSet) PrintAuthors ΒΆ added in v0.0.8
PrintAuthors renders the author line if set.
func (*FlagSet) PrintDescription ΒΆ
PrintDescription renders the full description block.
func (*FlagSet) PrintDynamicDefaults ΒΆ added in v0.0.23
PrintDynamicDefaults renders all dynamic flag usage lines.
func (*FlagSet) PrintNotes ΒΆ
PrintNotes renders the notes section, if configured.
func (*FlagSet) PrintStaticDefaults ΒΆ added in v0.0.23
PrintStaticDefaults renders all static flag usage lines.
func (*FlagSet) PrintTitle ΒΆ
PrintTitle renders the title above all help content.
func (*FlagSet) PrintUsage ΒΆ
func (f *FlagSet) PrintUsage(w io.Writer, mode FlagPrintMode)
PrintUsage renders the top usage line.
func (*FlagSet) RequirePositional ΒΆ
RequirePositional sets how many positional arguments must be present.
func (*FlagSet) SetDescIndent ΒΆ added in v0.0.23
SetDescIndent sets the indentation for the description block.
func (*FlagSet) SetDescWidth ΒΆ added in v0.0.23
SetDescWidth sets the wrapping width for the description block.
func (*FlagSet) SetDynamicUsageColumn ΒΆ added in v0.0.25
SetDynamicUsageColumn sets the column at which dynamic flag descriptions begin.
func (*FlagSet) SetDynamicUsageIndent ΒΆ added in v0.0.25
SetDynamicUsageIndent sets the indentation for dynamic flag usage lines.
func (*FlagSet) SetDynamicUsageNote ΒΆ added in v0.0.23
SetDynamicUsageNote adds a note after the dynamic flag block.
func (*FlagSet) SetDynamicUsageWidth ΒΆ added in v0.0.25
SetDynamicUsageWidth sets the max wrapping width for dynamic flags.
func (*FlagSet) SetEnvKeyFunc ΒΆ added in v0.0.43
func (f *FlagSet) SetEnvKeyFunc(fn engine.EnvKeyFunc)
SetEnvKeyFunc sets a function to derive env keys from prefix+flag name.
func (*FlagSet) SetGetEnvFn ΒΆ
SetGetEnvFn overrides the function used to look up environment variables.
func (*FlagSet) SetNoteIndent ΒΆ added in v0.0.23
SetNoteIndent sets the indentation for help notes.
func (*FlagSet) SetNoteWidth ΒΆ added in v0.0.23
SetNoteWidth sets the wrapping width for help notes.
func (*FlagSet) SetPositionalFinalize ΒΆ added in v0.0.48
SetPositionalFinalize sets a function to finalize positional arguments.
func (*FlagSet) SetPositionalValidate ΒΆ added in v0.0.48
SetPositionalValidate sets a function to validate positional arguments.
func (*FlagSet) SetStaticUsageColumn ΒΆ added in v0.0.25
SetStaticUsageColumn sets the column at which static flag descriptions begin.
func (*FlagSet) SetStaticUsageIndent ΒΆ added in v0.0.25
SetStaticUsageIndent sets the indentation for static flag usage lines.
func (*FlagSet) SetStaticUsageNote ΒΆ added in v0.0.23
SetStaticUsageNote adds a note after the static flag block.
func (*FlagSet) SetStaticUsageWidth ΒΆ added in v0.0.25
SetStaticUsageWidth sets the max wrapping width for static flag descriptions.
func (*FlagSet) SortedFlags ΒΆ added in v0.0.20
func (f *FlagSet) SortedFlags()
SortedFlags enables sorted help output for static flags.
func (*FlagSet) SortedGroups ΒΆ added in v0.0.20
func (f *FlagSet) SortedGroups()
SortedGroups enables sorted help output for dynamic groups.
func (*FlagSet) StaticAutoUsageColumn ΒΆ added in v0.0.23
StaticAutoUsageColumn computes a good usage column for static flags.
func (*FlagSet) StaticUsageColumn ΒΆ added in v0.0.25
StaticUsageColumn returns the description column for static flags.
func (*FlagSet) StaticUsageIndent ΒΆ added in v0.0.25
StaticUsageIndent returns the static usage indentation.
func (*FlagSet) StaticUsageNote ΒΆ added in v0.0.23
StaticUsageNote returns the static flag section note.
func (*FlagSet) StaticUsageWidth ΒΆ added in v0.0.25
StaticUsageWidth returns the wrapping width for static flag descriptions.
func (*FlagSet) StringSlice ΒΆ
StringSlice defines a []string flag and returns its handle.
func (*FlagSet) StringSliceVar ΒΆ
func (f *FlagSet) StringSliceVar(ptr *[]string, name string, def []string, usage string) *slice.SliceFlag[string]
StringSliceVar defines a []string flag and binds it to the given pointer.
func (*FlagSet) StringVar ΒΆ
func (f *FlagSet) StringVar(ptr *string, name string, def string, usage string) *scalar.ScalarFlag[string]
StringVar defines a string flag and binds it to the given pointer.
func (*FlagSet) TCPAddr ΒΆ added in v0.0.8
func (f *FlagSet) TCPAddr(name string, def *net.TCPAddr, usage string) *scalar.ScalarFlag[*net.TCPAddr]
TCPAddr defines a *net.TCPAddr flag and returns its handle.
func (*FlagSet) TCPAddrSlice ΒΆ added in v0.0.8
func (f *FlagSet) TCPAddrSlice(name string, def []*net.TCPAddr, usage string) *slice.SliceFlag[*net.TCPAddr]
TCPAddrSlice defines a []*net.TCPAddr flag and returns its handle.
func (*FlagSet) TCPAddrSliceVar ΒΆ added in v0.0.8
func (f *FlagSet) TCPAddrSliceVar(ptr *[]*net.TCPAddr, name string, def []*net.TCPAddr, usage string) *slice.SliceFlag[*net.TCPAddr]
TCPAddrSliceVar defines a []*net.TCPAddr flag and binds it to the given pointer.
func (*FlagSet) TCPAddrVar ΒΆ added in v0.0.8
func (f *FlagSet) TCPAddrVar(ptr **net.TCPAddr, name string, def *net.TCPAddr, usage string) *scalar.ScalarFlag[*net.TCPAddr]
TCPAddrVar defines a *net.TCPAddr flag and binds it to the given pointer.
func (*FlagSet) TimeSlice ΒΆ added in v0.0.8
TimeSlice defines a []time.Time flag and returns its handle.
func (*FlagSet) TimeSliceVar ΒΆ added in v0.0.8
func (f *FlagSet) TimeSliceVar(ptr *[]time.Time, name string, def []time.Time, usage string) *slice.SliceFlag[time.Time]
TimeSliceVar defines a []time.Time flag and binds it to the given pointer.
func (*FlagSet) TimeVar ΒΆ added in v0.0.8
func (f *FlagSet) TimeVar(ptr *time.Time, name string, def time.Time, usage string) *scalar.ScalarFlag[time.Time]
TimeVar defines a time.Time flag and binds it to the given pointer.
func (*FlagSet) URLSliceVar ΒΆ
func (f *FlagSet) URLSliceVar(ptr *[]*url.URL, name string, def []*url.URL, usage string) *slice.SliceFlag[*url.URL]
URLSliceVar defines a []*url.URL flag and binds it to the given pointer.
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 and binds it to the given pointer.
func (*FlagSet) VersionText ΒΆ added in v0.0.44
VersionText sets the --version text.
type HelpOptions ΒΆ added in v0.0.52
type HelpOptions struct {
// contains filtered or unexported fields
}
HelpOptions groups high-level help/metadata settings.
func (*HelpOptions) Authors ΒΆ added in v0.0.52
func (h *HelpOptions) Authors(s string)
func (*HelpOptions) Description ΒΆ added in v0.0.52
func (h *HelpOptions) Description(s string)
func (*HelpOptions) DisableHelp ΒΆ added in v0.0.52
func (h *HelpOptions) DisableHelp()
func (*HelpOptions) DisableVersion ΒΆ added in v0.0.52
func (h *HelpOptions) DisableVersion()
func (*HelpOptions) HelpText ΒΆ added in v0.0.52
func (h *HelpOptions) HelpText(s string)
func (*HelpOptions) Note ΒΆ added in v0.0.52
func (h *HelpOptions) Note(s string)
func (*HelpOptions) Title ΒΆ added in v0.0.52
func (h *HelpOptions) Title(s string)
func (*HelpOptions) VersionText ΒΆ added in v0.0.52
func (h *HelpOptions) VersionText(s string)
type HelpRequested ΒΆ
type HelpRequested = engine.HelpRequested
Common user-triggered exit conditions.
type LayoutOptions ΒΆ added in v0.0.52
type LayoutOptions struct {
// contains filtered or unexported fields
}
LayoutOptions groups usage/indent/width configuration.
func (*LayoutOptions) SetDescIndent ΒΆ added in v0.0.52
func (l *LayoutOptions) SetDescIndent(n int)
func (*LayoutOptions) SetDescWidth ΒΆ added in v0.0.52
func (l *LayoutOptions) SetDescWidth(max int)
func (*LayoutOptions) SetDynamicUsageColumn ΒΆ added in v0.0.52
func (l *LayoutOptions) SetDynamicUsageColumn(col int)
func (*LayoutOptions) SetDynamicUsageIndent ΒΆ added in v0.0.52
func (l *LayoutOptions) SetDynamicUsageIndent(n int)
func (*LayoutOptions) SetDynamicUsageNote ΒΆ added in v0.0.52
func (l *LayoutOptions) SetDynamicUsageNote(s string)
func (*LayoutOptions) SetDynamicUsageWidth ΒΆ added in v0.0.52
func (l *LayoutOptions) SetDynamicUsageWidth(max int)
func (*LayoutOptions) SetNoteIndent ΒΆ added in v0.0.52
func (l *LayoutOptions) SetNoteIndent(n int)
func (*LayoutOptions) SetNoteWidth ΒΆ added in v0.0.52
func (l *LayoutOptions) SetNoteWidth(max int)
func (*LayoutOptions) SetStaticUsageColumn ΒΆ added in v0.0.52
func (l *LayoutOptions) SetStaticUsageColumn(col int)
func (*LayoutOptions) SetStaticUsageIndent ΒΆ added in v0.0.52
func (l *LayoutOptions) SetStaticUsageIndent(n int)
func (*LayoutOptions) SetStaticUsageNote ΒΆ added in v0.0.52
func (l *LayoutOptions) SetStaticUsageNote(s string)
func (*LayoutOptions) SetStaticUsageWidth ΒΆ added in v0.0.52
func (l *LayoutOptions) SetStaticUsageWidth(maxWidth int)
type StaticFlag ΒΆ added in v0.0.23
Exported types for advanced access.
type VersionRequested ΒΆ
type VersionRequested = engine.VersionRequested
Common user-triggered exit conditions.
Directories
ΒΆ
| Path | Synopsis |
|---|---|
|
examples
|
|
|
advanced
command
|
|
|
dynamic
command
|
|
|
groups
command
|
|
|
simple
command
|
|
|
toggle
command
|
|
|
internal
|
|
|
dynamic
Package dynamic implements dynamic flag types that support multiple per-identifier values (e.g.
|
Package dynamic implements dynamic flag types that support multiple per-identifier values (e.g. |