Documentation
¶
Index ¶
- type AllOrNoneGroup
- type BaseFlag
- type DuplicatePerIDError
- type DynamicItemValues
- type DynamicValue
- type GroupItem
- type Incrementable
- type OncePerIDToggler
- type OneOfGroupGroup
- func (g *OneOfGroupGroup) AddGroup(grp *AllOrNoneGroup) *OneOfGroupGroup
- func (g *OneOfGroupGroup) Hidden() *OneOfGroupGroup
- func (g *OneOfGroupGroup) IsHidden() bool
- func (g *OneOfGroupGroup) IsRequired() bool
- func (g *OneOfGroupGroup) Required() *OneOfGroupGroup
- func (g *OneOfGroupGroup) Title(t string) *OneOfGroupGroup
- func (g *OneOfGroupGroup) TitleText() string
- type Registry
- type SliceMarker
- type StrictBool
- type Value
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AllOrNoneGroup ¶ added in v0.0.36
type AllOrNoneGroup struct { Name string // Identifier for this group. Flags []*BaseFlag // Member flags. // contains filtered or unexported fields }
AllOrNoneGroup enforces that all member flags must be set if any is set.
func (*AllOrNoneGroup) Hidden ¶ added in v0.0.36
func (g *AllOrNoneGroup) Hidden() *AllOrNoneGroup
Hidden marks the group as omitted from help.
func (*AllOrNoneGroup) IsHidden ¶ added in v0.0.36
func (g *AllOrNoneGroup) IsHidden() bool
IsHidden reports whether the group is hidden.
func (*AllOrNoneGroup) IsRequired ¶ added in v0.0.36
func (g *AllOrNoneGroup) IsRequired() bool
IsRequired reports whether the group is required.
func (*AllOrNoneGroup) Required ¶ added in v0.0.36
func (g *AllOrNoneGroup) Required() *AllOrNoneGroup
Required enforces that at least one of the group flags must be set.
func (*AllOrNoneGroup) Title ¶ added in v0.0.36
func (g *AllOrNoneGroup) Title(t string) *AllOrNoneGroup
Title sets a custom help heading.
func (*AllOrNoneGroup) TitleText ¶ added in v0.0.36
func (g *AllOrNoneGroup) TitleText() string
TitleText returns the custom heading, if any.
type BaseFlag ¶
type BaseFlag struct { Name string // Long name (e.g. "verbose"). Short string // Short alias (single letter, e.g. "v"). Usage string // Brief description shown in help. Value Value // Underlying value handler (scalar, slice, or dynamic). Hidden bool // If true, omit from help. DisableEnv bool // If true, disallow ENV lookup. EnvKey string // Custom environment variable (overrides derived key). HideEnv bool // If true, hide ENV key from help. Deprecated string // If non‐empty, show deprecation notice. Required bool // Mark flag as required. HideRequired bool // Hide “(Required)” in help. Placeholder string // Placeholder for the value (e.g. "FILE"). Allowed []string // Allowed string values (help only). HideAllowed bool // Hide allowed values from help. OneOfGroup *OneOfGroupGroup // OneOfGroup group membership. AllOrNone *AllOrNoneGroup // AllOrNone group membership. Requires []string // Names of flags this flag requires HideRequires bool // Hide “(Requires)” in help. }
BaseFlag holds metadata for a single flag.
type DuplicatePerIDError ¶ added in v0.0.49
type DuplicatePerIDError struct { Field string // dynamic field name, e.g. "timeout" ID string // instance id, e.g. "alpha" }
Typed error so the parser can pretty-print a friendly message.
func (*DuplicatePerIDError) Error ¶ added in v0.0.49
func (e *DuplicatePerIDError) Error() string
type DynamicItemValues ¶
DynamicItemValues exposes all parsed dynamic entries.
type DynamicValue ¶
type DynamicValue interface { Set(id, val string) error FieldName() string GetAny(id string) (any, bool) }
DynamicValue accepts keyed values (e.g. --http.alpha.port).
type GroupItem ¶ added in v0.0.19
type GroupItem struct { Value DynamicValue Flag *BaseFlag }
GroupItem holds a single flag and its value for a dynamic group.
type Incrementable ¶
Incrementable allows repeated use to increment a counter flag.
type OncePerIDToggler ¶ added in v0.0.49
type OncePerIDToggler interface {
EnableOncePerID()
}
Optional knob: value types that can enforce once-per-id expose this.
type OneOfGroupGroup ¶ added in v0.0.36
type OneOfGroupGroup struct { Name string // Identifier for this group. Flags []*BaseFlag // Member flags. RequiredGroups []*AllOrNoneGroup // Optional grouped sets // contains filtered or unexported fields }
OneOfGroupGroup enforces exclusivity among a set of flags. Only one flag in the group may be set.
func (*OneOfGroupGroup) AddGroup ¶ added in v0.0.36
func (g *OneOfGroupGroup) AddGroup(grp *AllOrNoneGroup) *OneOfGroupGroup
AddGroup includes a OneOfGroup group as one exclusive member.
func (*OneOfGroupGroup) Hidden ¶ added in v0.0.36
func (g *OneOfGroupGroup) Hidden() *OneOfGroupGroup
Hidden marks the group as omitted from help.
func (*OneOfGroupGroup) IsHidden ¶ added in v0.0.36
func (g *OneOfGroupGroup) IsHidden() bool
IsHidden reports whether the group is hidden.
func (*OneOfGroupGroup) IsRequired ¶ added in v0.0.36
func (g *OneOfGroupGroup) IsRequired() bool
IsRequired reports whether the group is required.
func (*OneOfGroupGroup) Required ¶ added in v0.0.36
func (g *OneOfGroupGroup) Required() *OneOfGroupGroup
Required enforces that one member must be set.
func (*OneOfGroupGroup) Title ¶ added in v0.0.36
func (g *OneOfGroupGroup) Title(t string) *OneOfGroupGroup
Title sets a custom help heading.
func (*OneOfGroupGroup) TitleText ¶ added in v0.0.36
func (g *OneOfGroupGroup) TitleText() string
TitleText returns the custom heading, if any.
type Registry ¶
type Registry interface { RegisterFlag(name string, bf *BaseFlag) GetOneOfGroup(name string) *OneOfGroupGroup OneOfGroups() []*OneOfGroupGroup DefaultDelimiter() string GetAllOrNoneGroup(name string) *AllOrNoneGroup }
Registry manages static flags, dynamic groups, and defaults.
type SliceMarker ¶
type SliceMarker interface {
IsSlice()
}
SliceMarker tags slice-type flags (no methods).
type StrictBool ¶
type StrictBool interface {
IsStrictBool() bool
}
StrictBool supports --flag / --no-flag syntax.