Merge pull request #1471 from dearchap/collapse_flag_interface
Collapse flag interface
This commit is contained in:
commit
0a88df4e46
4
app.go
4
app.go
@ -227,9 +227,7 @@ func (a *App) Setup() {
|
|||||||
|
|
||||||
a.flagCategories = newFlagCategories()
|
a.flagCategories = newFlagCategories()
|
||||||
for _, fl := range a.Flags {
|
for _, fl := range a.Flags {
|
||||||
if cf, ok := fl.(CategorizableFlag); ok {
|
a.flagCategories.AddFlag(fl.GetCategory(), fl)
|
||||||
a.flagCategories.AddFlag(cf.GetCategory(), cf)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if a.Metadata == nil {
|
if a.Metadata == nil {
|
||||||
|
20
app_test.go
20
app_test.go
@ -2252,6 +2252,26 @@ func (c *customBoolFlag) IsSet() bool {
|
|||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *customBoolFlag) IsRequired() bool {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *customBoolFlag) IsVisible() bool {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *customBoolFlag) GetCategory() string {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *customBoolFlag) GetEnvVars() []string {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func (c *customBoolFlag) GetDefaultText() string {
|
||||||
|
return ""
|
||||||
|
}
|
||||||
|
|
||||||
func TestCustomFlagsUnused(t *testing.T) {
|
func TestCustomFlagsUnused(t *testing.T) {
|
||||||
app := &App{
|
app := &App{
|
||||||
Flags: []Flag{&customBoolFlag{"custom"}},
|
Flags: []Flag{&customBoolFlag{"custom"}},
|
||||||
|
18
category.go
18
category.go
@ -101,9 +101,7 @@ func newFlagCategories() FlagCategories {
|
|||||||
func newFlagCategoriesFromFlags(fs []Flag) FlagCategories {
|
func newFlagCategoriesFromFlags(fs []Flag) FlagCategories {
|
||||||
fc := newFlagCategories()
|
fc := newFlagCategories()
|
||||||
for _, fl := range fs {
|
for _, fl := range fs {
|
||||||
if cf, ok := fl.(CategorizableFlag); ok {
|
fc.AddFlag(fl.GetCategory(), fl)
|
||||||
fc.AddFlag(cf.GetCategory(), cf)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return fc
|
return fc
|
||||||
@ -138,7 +136,7 @@ type VisibleFlagCategory interface {
|
|||||||
// Name returns the category name string
|
// Name returns the category name string
|
||||||
Name() string
|
Name() string
|
||||||
// Flags returns a slice of VisibleFlag sorted by name
|
// Flags returns a slice of VisibleFlag sorted by name
|
||||||
Flags() []VisibleFlag
|
Flags() []Flag
|
||||||
}
|
}
|
||||||
|
|
||||||
type defaultVisibleFlagCategory struct {
|
type defaultVisibleFlagCategory struct {
|
||||||
@ -150,21 +148,19 @@ func (fc *defaultVisibleFlagCategory) Name() string {
|
|||||||
return fc.name
|
return fc.name
|
||||||
}
|
}
|
||||||
|
|
||||||
func (fc *defaultVisibleFlagCategory) Flags() []VisibleFlag {
|
func (fc *defaultVisibleFlagCategory) Flags() []Flag {
|
||||||
vfNames := []string{}
|
vfNames := []string{}
|
||||||
for flName, fl := range fc.m {
|
for flName, fl := range fc.m {
|
||||||
if vf, ok := fl.(VisibleFlag); ok {
|
if fl.IsVisible() {
|
||||||
if vf.IsVisible() {
|
vfNames = append(vfNames, flName)
|
||||||
vfNames = append(vfNames, flName)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
sort.Strings(vfNames)
|
sort.Strings(vfNames)
|
||||||
|
|
||||||
ret := make([]VisibleFlag, len(vfNames))
|
ret := make([]Flag, len(vfNames))
|
||||||
for i, flName := range vfNames {
|
for i, flName := range vfNames {
|
||||||
ret[i] = fc.m[flName].(VisibleFlag)
|
ret[i] = fc.m[flName]
|
||||||
}
|
}
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
@ -165,7 +165,7 @@ func (cCtx *Context) lookupFlagSet(name string) *flag.FlagSet {
|
|||||||
func (cCtx *Context) checkRequiredFlags(flags []Flag) requiredFlagsErr {
|
func (cCtx *Context) checkRequiredFlags(flags []Flag) requiredFlagsErr {
|
||||||
var missingFlags []string
|
var missingFlags []string
|
||||||
for _, f := range flags {
|
for _, f := range flags {
|
||||||
if rf, ok := f.(RequiredFlag); ok && rf.IsRequired() {
|
if f.IsRequired() {
|
||||||
var flagPresent bool
|
var flagPresent bool
|
||||||
var flagName string
|
var flagName string
|
||||||
|
|
||||||
|
8
docs.go
8
docs.go
@ -116,11 +116,7 @@ func prepareFlags(
|
|||||||
addDetails bool,
|
addDetails bool,
|
||||||
) []string {
|
) []string {
|
||||||
args := []string{}
|
args := []string{}
|
||||||
for _, f := range flags {
|
for _, flag := range flags {
|
||||||
flag, ok := f.(DocGenerationFlag)
|
|
||||||
if !ok {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
modifiedArg := opener
|
modifiedArg := opener
|
||||||
|
|
||||||
for _, s := range flag.Names() {
|
for _, s := range flag.Names() {
|
||||||
@ -151,7 +147,7 @@ func prepareFlags(
|
|||||||
}
|
}
|
||||||
|
|
||||||
// flagDetails returns a string containing the flags metadata
|
// flagDetails returns a string containing the flags metadata
|
||||||
func flagDetails(flag DocGenerationFlag) string {
|
func flagDetails(flag Flag) string {
|
||||||
description := flag.GetUsage()
|
description := flag.GetUsage()
|
||||||
value := flag.GetValue()
|
value := flag.GetValue()
|
||||||
if value != "" {
|
if value != "" {
|
||||||
|
9
fish.go
9
fish.go
@ -114,12 +114,7 @@ func (a *App) prepareFishCommands(commands []*Command, allCommands *[]string, pr
|
|||||||
|
|
||||||
func (a *App) prepareFishFlags(flags []Flag, previousCommands []string) []string {
|
func (a *App) prepareFishFlags(flags []Flag, previousCommands []string) []string {
|
||||||
completions := []string{}
|
completions := []string{}
|
||||||
for _, f := range flags {
|
for _, flag := range flags {
|
||||||
flag, ok := f.(DocGenerationFlag)
|
|
||||||
if !ok {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
completion := &strings.Builder{}
|
completion := &strings.Builder{}
|
||||||
completion.WriteString(fmt.Sprintf(
|
completion.WriteString(fmt.Sprintf(
|
||||||
"complete -c %s -n '%s'",
|
"complete -c %s -n '%s'",
|
||||||
@ -127,7 +122,7 @@ func (a *App) prepareFishFlags(flags []Flag, previousCommands []string) []string
|
|||||||
a.fishSubcommandHelper(previousCommands),
|
a.fishSubcommandHelper(previousCommands),
|
||||||
))
|
))
|
||||||
|
|
||||||
fishAddFileFlag(f, completion)
|
fishAddFileFlag(flag, completion)
|
||||||
|
|
||||||
for idx, opt := range flag.Names() {
|
for idx, opt := range flag.Names() {
|
||||||
if idx == 0 {
|
if idx == 0 {
|
||||||
|
@ -3,7 +3,8 @@
|
|||||||
# `genflags.Spec` type that maps to this file structure.
|
# `genflags.Spec` type that maps to this file structure.
|
||||||
|
|
||||||
flag_types:
|
flag_types:
|
||||||
bool: {}
|
bool:
|
||||||
|
no_default_text: true
|
||||||
float64: {}
|
float64: {}
|
||||||
int64: {}
|
int64: {}
|
||||||
int: {}
|
int: {}
|
||||||
@ -12,12 +13,14 @@ flag_types:
|
|||||||
uint: {}
|
uint: {}
|
||||||
|
|
||||||
string:
|
string:
|
||||||
|
no_default_text: true
|
||||||
struct_fields:
|
struct_fields:
|
||||||
- { name: TakesFile, type: bool }
|
- { name: TakesFile, type: bool }
|
||||||
Generic:
|
Generic:
|
||||||
struct_fields:
|
struct_fields:
|
||||||
- { name: TakesFile, type: bool }
|
- { name: TakesFile, type: bool }
|
||||||
Path:
|
Path:
|
||||||
|
no_default_text: true
|
||||||
struct_fields:
|
struct_fields:
|
||||||
- { name: TakesFile, type: bool }
|
- { name: TakesFile, type: bool }
|
||||||
|
|
||||||
|
69
flag.go
69
flag.go
@ -89,55 +89,40 @@ func (f FlagsByName) Swap(i, j int) {
|
|||||||
// this interface be implemented.
|
// this interface be implemented.
|
||||||
type Flag interface {
|
type Flag interface {
|
||||||
fmt.Stringer
|
fmt.Stringer
|
||||||
|
|
||||||
// Apply Flag settings to the given flag set
|
// Apply Flag settings to the given flag set
|
||||||
Apply(*flag.FlagSet) error
|
Apply(*flag.FlagSet) error
|
||||||
|
|
||||||
|
// All possible names for this flag
|
||||||
Names() []string
|
Names() []string
|
||||||
|
|
||||||
|
// Whether the flag has been set or not
|
||||||
IsSet() bool
|
IsSet() bool
|
||||||
}
|
|
||||||
|
|
||||||
// RequiredFlag is an interface that allows us to mark flags as required
|
|
||||||
// it allows flags required flags to be backwards compatible with the Flag interface
|
|
||||||
type RequiredFlag interface {
|
|
||||||
Flag
|
|
||||||
|
|
||||||
|
// whether the flag is a required flag or not
|
||||||
IsRequired() bool
|
IsRequired() bool
|
||||||
}
|
|
||||||
|
|
||||||
// DocGenerationFlag is an interface that allows documentation generation for the flag
|
// IsVisible returns true if the flag is not hidden, otherwise false
|
||||||
type DocGenerationFlag interface {
|
IsVisible() bool
|
||||||
Flag
|
|
||||||
|
|
||||||
// TakesValue returns true if the flag takes a value, otherwise false
|
// Returns the category of the flag
|
||||||
TakesValue() bool
|
GetCategory() string
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
// GetUsage returns the usage string for the flag
|
||||||
GetUsage() string
|
GetUsage() string
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetEnvVars returns the env vars for this flag
|
||||||
// string if the flag takes no value at all.
|
GetEnvVars() []string
|
||||||
GetValue() string
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
TakesValue() bool
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
// GetDefaultText returns the default text for this flag
|
||||||
GetDefaultText() string
|
GetDefaultText() string
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
// GetValue returns the flags value as string representation and an empty
|
||||||
GetEnvVars() []string
|
// string if the flag takes no value at all.
|
||||||
}
|
GetValue() string
|
||||||
|
|
||||||
// VisibleFlag is an interface that allows to check if a flag is visible
|
|
||||||
type VisibleFlag interface {
|
|
||||||
Flag
|
|
||||||
|
|
||||||
// IsVisible returns true if the flag is not hidden, otherwise false
|
|
||||||
IsVisible() bool
|
|
||||||
}
|
|
||||||
|
|
||||||
// CategorizableFlag is an interface that allows us to potentially
|
|
||||||
// use a flag in a categorized representation.
|
|
||||||
type CategorizableFlag interface {
|
|
||||||
VisibleFlag
|
|
||||||
|
|
||||||
GetCategory() string
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func flagSet(name string, flags []Flag) (*flag.FlagSet, error) {
|
func flagSet(name string, flags []Flag) (*flag.FlagSet, error) {
|
||||||
@ -197,7 +182,7 @@ func normalizeFlags(flags []Flag, set *flag.FlagSet) error {
|
|||||||
func visibleFlags(fl []Flag) []Flag {
|
func visibleFlags(fl []Flag) []Flag {
|
||||||
var visible []Flag
|
var visible []Flag
|
||||||
for _, f := range fl {
|
for _, f := range fl {
|
||||||
if vf, ok := f.(VisibleFlag); ok && vf.IsVisible() {
|
if f.IsVisible() {
|
||||||
visible = append(visible, f)
|
visible = append(visible, f)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -293,14 +278,8 @@ func formatDefault(format string) string {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func stringifyFlag(f Flag) string {
|
func stringifyFlag(f Flag) string {
|
||||||
// enforce DocGeneration interface on flags to avoid reflection
|
placeholder, usage := unquoteUsage(f.GetUsage())
|
||||||
df, ok := f.(DocGenerationFlag)
|
needsPlaceholder := f.TakesValue()
|
||||||
if !ok {
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
placeholder, usage := unquoteUsage(df.GetUsage())
|
|
||||||
needsPlaceholder := df.TakesValue()
|
|
||||||
|
|
||||||
if needsPlaceholder && placeholder == "" {
|
if needsPlaceholder && placeholder == "" {
|
||||||
placeholder = defaultPlaceholder
|
placeholder = defaultPlaceholder
|
||||||
@ -308,14 +287,14 @@ func stringifyFlag(f Flag) string {
|
|||||||
|
|
||||||
defaultValueString := ""
|
defaultValueString := ""
|
||||||
|
|
||||||
if s := df.GetDefaultText(); s != "" {
|
if s := f.GetDefaultText(); s != "" {
|
||||||
defaultValueString = fmt.Sprintf(formatDefault("%s"), s)
|
defaultValueString = fmt.Sprintf(formatDefault("%s"), s)
|
||||||
}
|
}
|
||||||
|
|
||||||
usageWithDefault := strings.TrimSpace(usage + defaultValueString)
|
usageWithDefault := strings.TrimSpace(usage + defaultValueString)
|
||||||
|
|
||||||
return withEnvHint(df.GetEnvVars(),
|
return withEnvHint(f.GetEnvVars(),
|
||||||
fmt.Sprintf("%s\t%s", prefixedNames(df.Names(), placeholder), usageWithDefault))
|
fmt.Sprintf("%s\t%s", prefixedNames(f.Names(), placeholder), usageWithDefault))
|
||||||
}
|
}
|
||||||
|
|
||||||
func stringifyIntSliceFlag(f *IntSliceFlag) string {
|
func stringifyIntSliceFlag(f *IntSliceFlag) string {
|
||||||
|
20
flag_bool.go
20
flag_bool.go
@ -6,21 +6,6 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *BoolFlag) TakesValue() bool {
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *BoolFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *BoolFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *BoolFlag) GetValue() string {
|
func (f *BoolFlag) GetValue() string {
|
||||||
@ -35,11 +20,6 @@ func (f *BoolFlag) GetDefaultText() string {
|
|||||||
return fmt.Sprintf("%v", f.Value)
|
return fmt.Sprintf("%v", f.Value)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *BoolFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *BoolFlag) Apply(set *flag.FlagSet) error {
|
func (f *BoolFlag) Apply(set *flag.FlagSet) error {
|
||||||
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
||||||
|
@ -6,40 +6,12 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *DurationFlag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *DurationFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *DurationFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *DurationFlag) GetValue() string {
|
func (f *DurationFlag) GetValue() string {
|
||||||
return f.Value.String()
|
return f.Value.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *DurationFlag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *DurationFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *DurationFlag) Apply(set *flag.FlagSet) error {
|
func (f *DurationFlag) Apply(set *flag.FlagSet) error {
|
||||||
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
||||||
|
@ -6,40 +6,12 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *Float64Flag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *Float64Flag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *Float64Flag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *Float64Flag) GetValue() string {
|
func (f *Float64Flag) GetValue() string {
|
||||||
return fmt.Sprintf("%v", f.Value)
|
return fmt.Sprintf("%v", f.Value)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *Float64Flag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *Float64Flag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *Float64Flag) Apply(set *flag.FlagSet) error {
|
func (f *Float64Flag) Apply(set *flag.FlagSet) error {
|
||||||
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
||||||
|
@ -86,21 +86,6 @@ func (f *Float64SliceFlag) String() string {
|
|||||||
return withEnvHint(f.GetEnvVars(), stringifyFloat64SliceFlag(f))
|
return withEnvHint(f.GetEnvVars(), stringifyFloat64SliceFlag(f))
|
||||||
}
|
}
|
||||||
|
|
||||||
// TakesValue returns true if the flag takes a value, otherwise false
|
|
||||||
func (f *Float64SliceFlag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *Float64SliceFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *Float64SliceFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *Float64SliceFlag) GetValue() string {
|
func (f *Float64SliceFlag) GetValue() string {
|
||||||
@ -110,19 +95,6 @@ func (f *Float64SliceFlag) GetValue() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *Float64SliceFlag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *Float64SliceFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *Float64SliceFlag) Apply(set *flag.FlagSet) error {
|
func (f *Float64SliceFlag) Apply(set *flag.FlagSet) error {
|
||||||
// apply any default
|
// apply any default
|
||||||
|
@ -11,21 +11,6 @@ type Generic interface {
|
|||||||
String() string
|
String() string
|
||||||
}
|
}
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *GenericFlag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *GenericFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *GenericFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *GenericFlag) GetValue() string {
|
func (f *GenericFlag) GetValue() string {
|
||||||
@ -35,19 +20,6 @@ func (f *GenericFlag) GetValue() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *GenericFlag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *GenericFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply takes the flagset and calls Set on the generic flag with the value
|
// Apply takes the flagset and calls Set on the generic flag with the value
|
||||||
// provided by the user for parsing by the flag
|
// provided by the user for parsing by the flag
|
||||||
func (f GenericFlag) Apply(set *flag.FlagSet) error {
|
func (f GenericFlag) Apply(set *flag.FlagSet) error {
|
||||||
|
28
flag_int.go
28
flag_int.go
@ -6,40 +6,12 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *IntFlag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *IntFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *IntFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *IntFlag) GetValue() string {
|
func (f *IntFlag) GetValue() string {
|
||||||
return fmt.Sprintf("%d", f.Value)
|
return fmt.Sprintf("%d", f.Value)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *IntFlag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *IntFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *IntFlag) Apply(set *flag.FlagSet) error {
|
func (f *IntFlag) Apply(set *flag.FlagSet) error {
|
||||||
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
||||||
|
@ -6,40 +6,12 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *Int64Flag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *Int64Flag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *Int64Flag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *Int64Flag) GetValue() string {
|
func (f *Int64Flag) GetValue() string {
|
||||||
return fmt.Sprintf("%d", f.Value)
|
return fmt.Sprintf("%d", f.Value)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *Int64Flag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *Int64Flag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *Int64Flag) Apply(set *flag.FlagSet) error {
|
func (f *Int64Flag) Apply(set *flag.FlagSet) error {
|
||||||
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
||||||
|
@ -87,21 +87,6 @@ func (f *Int64SliceFlag) String() string {
|
|||||||
return withEnvHint(f.GetEnvVars(), stringifyInt64SliceFlag(f))
|
return withEnvHint(f.GetEnvVars(), stringifyInt64SliceFlag(f))
|
||||||
}
|
}
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *Int64SliceFlag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *Int64SliceFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *Int64SliceFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *Int64SliceFlag) GetValue() string {
|
func (f *Int64SliceFlag) GetValue() string {
|
||||||
@ -111,19 +96,6 @@ func (f *Int64SliceFlag) GetValue() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *Int64SliceFlag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *Int64SliceFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *Int64SliceFlag) Apply(set *flag.FlagSet) error {
|
func (f *Int64SliceFlag) Apply(set *flag.FlagSet) error {
|
||||||
// apply any default
|
// apply any default
|
||||||
|
@ -98,21 +98,6 @@ func (f *IntSliceFlag) String() string {
|
|||||||
return withEnvHint(f.GetEnvVars(), stringifyIntSliceFlag(f))
|
return withEnvHint(f.GetEnvVars(), stringifyIntSliceFlag(f))
|
||||||
}
|
}
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *IntSliceFlag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *IntSliceFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *IntSliceFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *IntSliceFlag) GetValue() string {
|
func (f *IntSliceFlag) GetValue() string {
|
||||||
@ -122,19 +107,6 @@ func (f *IntSliceFlag) GetValue() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *IntSliceFlag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *IntSliceFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *IntSliceFlag) Apply(set *flag.FlagSet) error {
|
func (f *IntSliceFlag) Apply(set *flag.FlagSet) error {
|
||||||
// apply any default
|
// apply any default
|
||||||
|
20
flag_path.go
20
flag_path.go
@ -7,21 +7,6 @@ import (
|
|||||||
|
|
||||||
type Path = string
|
type Path = string
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *PathFlag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *PathFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *PathFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *PathFlag) GetValue() string {
|
func (f *PathFlag) GetValue() string {
|
||||||
@ -39,11 +24,6 @@ func (f *PathFlag) GetDefaultText() string {
|
|||||||
return fmt.Sprintf("%q", f.Value)
|
return fmt.Sprintf("%q", f.Value)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *PathFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *PathFlag) Apply(set *flag.FlagSet) error {
|
func (f *PathFlag) Apply(set *flag.FlagSet) error {
|
||||||
if val, _, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
if val, _, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
||||||
|
@ -5,21 +5,6 @@ import (
|
|||||||
"fmt"
|
"fmt"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *StringFlag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *StringFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *StringFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *StringFlag) GetValue() string {
|
func (f *StringFlag) GetValue() string {
|
||||||
@ -37,11 +22,6 @@ func (f *StringFlag) GetDefaultText() string {
|
|||||||
return fmt.Sprintf("%q", f.Value)
|
return fmt.Sprintf("%q", f.Value)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *StringFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *StringFlag) Apply(set *flag.FlagSet) error {
|
func (f *StringFlag) Apply(set *flag.FlagSet) error {
|
||||||
if val, _, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
if val, _, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
||||||
|
@ -76,21 +76,6 @@ func (f *StringSliceFlag) String() string {
|
|||||||
return withEnvHint(f.GetEnvVars(), stringifyStringSliceFlag(f))
|
return withEnvHint(f.GetEnvVars(), stringifyStringSliceFlag(f))
|
||||||
}
|
}
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *StringSliceFlag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *StringSliceFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *StringSliceFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *StringSliceFlag) GetValue() string {
|
func (f *StringSliceFlag) GetValue() string {
|
||||||
@ -100,19 +85,6 @@ func (f *StringSliceFlag) GetValue() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *StringSliceFlag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *StringSliceFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *StringSliceFlag) Apply(set *flag.FlagSet) error {
|
func (f *StringSliceFlag) Apply(set *flag.FlagSet) error {
|
||||||
// apply any default
|
// apply any default
|
||||||
|
16
flag_test.go
16
flag_test.go
@ -144,10 +144,7 @@ func TestFlagsFromEnv(t *testing.T) {
|
|||||||
defer resetEnv(os.Environ())
|
defer resetEnv(os.Environ())
|
||||||
os.Clearenv()
|
os.Clearenv()
|
||||||
|
|
||||||
f, ok := test.flag.(DocGenerationFlag)
|
f := test.flag
|
||||||
if !ok {
|
|
||||||
t.Errorf("flag %v needs to implement DocGenerationFlag to retrieve env vars", test.flag)
|
|
||||||
}
|
|
||||||
envVarSlice := f.GetEnvVars()
|
envVarSlice := f.GetEnvVars()
|
||||||
_ = os.Setenv(envVarSlice[0], test.input)
|
_ = os.Setenv(envVarSlice[0], test.input)
|
||||||
|
|
||||||
@ -179,12 +176,6 @@ func TestFlagsFromEnv(t *testing.T) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
type nodocFlag struct {
|
|
||||||
Flag
|
|
||||||
|
|
||||||
Name string
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestFlagStringifying(t *testing.T) {
|
func TestFlagStringifying(t *testing.T) {
|
||||||
for _, tc := range []struct {
|
for _, tc := range []struct {
|
||||||
name string
|
name string
|
||||||
@ -341,11 +332,6 @@ func TestFlagStringifying(t *testing.T) {
|
|||||||
fl: &UintFlag{Name: "tubes", DefaultText: "13"},
|
fl: &UintFlag{Name: "tubes", DefaultText: "13"},
|
||||||
expected: "--tubes value\t(default: 13)",
|
expected: "--tubes value\t(default: 13)",
|
||||||
},
|
},
|
||||||
{
|
|
||||||
name: "nodoc-flag",
|
|
||||||
fl: &nodocFlag{Name: "scarecrow"},
|
|
||||||
expected: "",
|
|
||||||
},
|
|
||||||
} {
|
} {
|
||||||
t.Run(tc.name, func(ct *testing.T) {
|
t.Run(tc.name, func(ct *testing.T) {
|
||||||
s := stringifyFlag(tc.fl)
|
s := stringifyFlag(tc.fl)
|
||||||
|
@ -72,21 +72,6 @@ func (t *Timestamp) Get() interface{} {
|
|||||||
return *t
|
return *t
|
||||||
}
|
}
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *TimestampFlag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *TimestampFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *TimestampFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
// GetValue returns the flags value as string representation and an empty
|
||||||
// string if the flag takes no value at all.
|
// string if the flag takes no value at all.
|
||||||
func (f *TimestampFlag) GetValue() string {
|
func (f *TimestampFlag) GetValue() string {
|
||||||
@ -96,19 +81,6 @@ func (f *TimestampFlag) GetValue() string {
|
|||||||
return ""
|
return ""
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *TimestampFlag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *TimestampFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *TimestampFlag) Apply(set *flag.FlagSet) error {
|
func (f *TimestampFlag) Apply(set *flag.FlagSet) error {
|
||||||
if f.Layout == "" {
|
if f.Layout == "" {
|
||||||
|
28
flag_uint.go
28
flag_uint.go
@ -6,21 +6,6 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *UintFlag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *UintFlag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *UintFlag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *UintFlag) Apply(set *flag.FlagSet) error {
|
func (f *UintFlag) Apply(set *flag.FlagSet) error {
|
||||||
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
||||||
@ -52,19 +37,6 @@ func (f *UintFlag) GetValue() string {
|
|||||||
return fmt.Sprintf("%d", f.Value)
|
return fmt.Sprintf("%d", f.Value)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *UintFlag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *UintFlag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get returns the flag’s value in the given Context.
|
// Get returns the flag’s value in the given Context.
|
||||||
func (f *UintFlag) Get(ctx *Context) uint {
|
func (f *UintFlag) Get(ctx *Context) uint {
|
||||||
return ctx.Uint(f.Name)
|
return ctx.Uint(f.Name)
|
||||||
|
@ -6,21 +6,6 @@ import (
|
|||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
// TakesValue returns true of the flag takes a value, otherwise false
|
|
||||||
func (f *Uint64Flag) TakesValue() bool {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
func (f *Uint64Flag) GetUsage() string {
|
|
||||||
return f.Usage
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetCategory returns the category for the flag
|
|
||||||
func (f *Uint64Flag) GetCategory() string {
|
|
||||||
return f.Category
|
|
||||||
}
|
|
||||||
|
|
||||||
// Apply populates the flag given the flag set and environment
|
// Apply populates the flag given the flag set and environment
|
||||||
func (f *Uint64Flag) Apply(set *flag.FlagSet) error {
|
func (f *Uint64Flag) Apply(set *flag.FlagSet) error {
|
||||||
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
if val, source, found := flagFromEnvOrFile(f.EnvVars, f.FilePath); found {
|
||||||
@ -52,19 +37,6 @@ func (f *Uint64Flag) GetValue() string {
|
|||||||
return fmt.Sprintf("%d", f.Value)
|
return fmt.Sprintf("%d", f.Value)
|
||||||
}
|
}
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
func (f *Uint64Flag) GetDefaultText() string {
|
|
||||||
if f.DefaultText != "" {
|
|
||||||
return f.DefaultText
|
|
||||||
}
|
|
||||||
return f.GetValue()
|
|
||||||
}
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
func (f *Uint64Flag) GetEnvVars() []string {
|
|
||||||
return f.EnvVars
|
|
||||||
}
|
|
||||||
|
|
||||||
// Get returns the flag’s value in the given Context.
|
// Get returns the flag’s value in the given Context.
|
||||||
func (f *Uint64Flag) Get(ctx *Context) uint64 {
|
func (f *Uint64Flag) Get(ctx *Context) uint64 {
|
||||||
return ctx.Uint64(f.Name)
|
return ctx.Uint64(f.Name)
|
||||||
|
@ -64,8 +64,8 @@ GLOBAL OPTIONS:
|
|||||||
COPYRIGHT:
|
COPYRIGHT:
|
||||||
{{wrap .Copyright 3}}{{end}}
|
{{wrap .Copyright 3}}{{end}}
|
||||||
`
|
`
|
||||||
AppHelpTemplate is the text template for the Default help topic. cli.go uses
|
AppHelpTemplate is the text template for the Default help topic. cli.go
|
||||||
text/template to render templates. You can render custom help text by
|
uses text/template to render templates. You can render custom help text by
|
||||||
setting this variable.
|
setting this variable.
|
||||||
|
|
||||||
var CommandHelpTemplate = `NAME:
|
var CommandHelpTemplate = `NAME:
|
||||||
@ -201,9 +201,9 @@ func DefaultAppComplete(cCtx *Context)
|
|||||||
func DefaultCompleteWithFlags(cmd *Command) func(cCtx *Context)
|
func DefaultCompleteWithFlags(cmd *Command) func(cCtx *Context)
|
||||||
func FlagNames(name string, aliases []string) []string
|
func FlagNames(name string, aliases []string) []string
|
||||||
func HandleAction(action interface{}, cCtx *Context) (err error)
|
func HandleAction(action interface{}, cCtx *Context) (err error)
|
||||||
HandleAction attempts to figure out which Action signature was used. If it's
|
HandleAction attempts to figure out which Action signature was used.
|
||||||
an ActionFunc or a func with the legacy signature for Action, the func is
|
If it's an ActionFunc or a func with the legacy signature for Action,
|
||||||
run!
|
the func is run!
|
||||||
|
|
||||||
func HandleExitCoder(err error)
|
func HandleExitCoder(err error)
|
||||||
HandleExitCoder handles errors implementing ExitCoder by printing their
|
HandleExitCoder handles errors implementing ExitCoder by printing their
|
||||||
@ -360,14 +360,14 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error)
|
|||||||
to generate command-specific flags
|
to generate command-specific flags
|
||||||
|
|
||||||
func (a *App) RunContext(ctx context.Context, arguments []string) (err error)
|
func (a *App) RunContext(ctx context.Context, arguments []string) (err error)
|
||||||
RunContext is like Run except it takes a Context that will be passed to its
|
RunContext is like Run except it takes a Context that will be passed to
|
||||||
commands and sub-commands. Through this, you can propagate timeouts and
|
its commands and sub-commands. Through this, you can propagate timeouts and
|
||||||
cancellation requests
|
cancellation requests
|
||||||
|
|
||||||
func (a *App) Setup()
|
func (a *App) Setup()
|
||||||
Setup runs initialization code to ensure all data structures are ready for
|
Setup runs initialization code to ensure all data structures are ready
|
||||||
`Run` or inspection prior to `Run`. It is internally called by `Run`, but
|
for `Run` or inspection prior to `Run`. It is internally called by `Run`,
|
||||||
will return early if setup has already happened.
|
but will return early if setup has already happened.
|
||||||
|
|
||||||
func (a *App) ToFishCompletion() (string, error)
|
func (a *App) ToFishCompletion() (string, error)
|
||||||
ToFishCompletion creates a fish completion string for the `*App` The
|
ToFishCompletion creates a fish completion string for the `*App` The
|
||||||
@ -460,7 +460,7 @@ func (f *BoolFlag) Get(ctx *Context) bool
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *BoolFlag) GetCategory() string
|
func (f *BoolFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *BoolFlag) GetDefaultText() string
|
func (f *BoolFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -491,15 +491,7 @@ func (f *BoolFlag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *BoolFlag) TakesValue() bool
|
func (f *BoolFlag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type CategorizableFlag interface {
|
|
||||||
VisibleFlag
|
|
||||||
|
|
||||||
GetCategory() string
|
|
||||||
}
|
|
||||||
CategorizableFlag is an interface that allows us to potentially use a flag
|
|
||||||
in a categorized representation.
|
|
||||||
|
|
||||||
type Command struct {
|
type Command struct {
|
||||||
// The name of the command
|
// The name of the command
|
||||||
@ -701,28 +693,6 @@ func (cCtx *Context) Uint64(name string) uint64
|
|||||||
func (cCtx *Context) Value(name string) interface{}
|
func (cCtx *Context) Value(name string) interface{}
|
||||||
Value returns the value of the flag corresponding to `name`
|
Value returns the value of the flag corresponding to `name`
|
||||||
|
|
||||||
type DocGenerationFlag interface {
|
|
||||||
Flag
|
|
||||||
|
|
||||||
// TakesValue returns true if the flag takes a value, otherwise false
|
|
||||||
TakesValue() bool
|
|
||||||
|
|
||||||
// GetUsage returns the usage string for the flag
|
|
||||||
GetUsage() string
|
|
||||||
|
|
||||||
// GetValue returns the flags value as string representation and an empty
|
|
||||||
// string if the flag takes no value at all.
|
|
||||||
GetValue() string
|
|
||||||
|
|
||||||
// GetDefaultText returns the default text for this flag
|
|
||||||
GetDefaultText() string
|
|
||||||
|
|
||||||
// GetEnvVars returns the env vars for this flag
|
|
||||||
GetEnvVars() []string
|
|
||||||
}
|
|
||||||
DocGenerationFlag is an interface that allows documentation generation for
|
|
||||||
the flag
|
|
||||||
|
|
||||||
type DurationFlag struct {
|
type DurationFlag struct {
|
||||||
Name string
|
Name string
|
||||||
|
|
||||||
@ -750,7 +720,7 @@ func (f *DurationFlag) Get(ctx *Context) time.Duration
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *DurationFlag) GetCategory() string
|
func (f *DurationFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *DurationFlag) GetDefaultText() string
|
func (f *DurationFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -781,7 +751,7 @@ func (f *DurationFlag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *DurationFlag) TakesValue() bool
|
func (f *DurationFlag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type ErrorFormatter interface {
|
type ErrorFormatter interface {
|
||||||
Format(s fmt.State, verb rune)
|
Format(s fmt.State, verb rune)
|
||||||
@ -799,9 +769,9 @@ func Exit(message interface{}, exitCode int) ExitCoder
|
|||||||
Exit wraps a message and exit code into an error, which by default is
|
Exit wraps a message and exit code into an error, which by default is
|
||||||
handled with a call to os.Exit during default error handling.
|
handled with a call to os.Exit during default error handling.
|
||||||
|
|
||||||
This is the simplest way to trigger a non-zero exit code for an App without
|
This is the simplest way to trigger a non-zero exit code for an App
|
||||||
having to call os.Exit manually. During testing, this behavior can be
|
without having to call os.Exit manually. During testing, this behavior
|
||||||
avoided by overiding the ExitErrHandler function on an App or the
|
can be avoided by overiding the ExitErrHandler function on an App or the
|
||||||
package-global OsExiter function.
|
package-global OsExiter function.
|
||||||
|
|
||||||
func NewExitError(message interface{}, exitCode int) ExitCoder
|
func NewExitError(message interface{}, exitCode int) ExitCoder
|
||||||
@ -816,10 +786,40 @@ type ExitErrHandlerFunc func(cCtx *Context, err error)
|
|||||||
|
|
||||||
type Flag interface {
|
type Flag interface {
|
||||||
fmt.Stringer
|
fmt.Stringer
|
||||||
|
|
||||||
// Apply Flag settings to the given flag set
|
// Apply Flag settings to the given flag set
|
||||||
Apply(*flag.FlagSet) error
|
Apply(*flag.FlagSet) error
|
||||||
|
|
||||||
|
// All possible names for this flag
|
||||||
Names() []string
|
Names() []string
|
||||||
|
|
||||||
|
// Whether the flag has been set or not
|
||||||
IsSet() bool
|
IsSet() bool
|
||||||
|
|
||||||
|
// whether the flag is a required flag or not
|
||||||
|
IsRequired() bool
|
||||||
|
|
||||||
|
// IsVisible returns true if the flag is not hidden, otherwise false
|
||||||
|
IsVisible() bool
|
||||||
|
|
||||||
|
// Returns the category of the flag
|
||||||
|
GetCategory() string
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
GetUsage() string
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
GetEnvVars() []string
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
TakesValue() bool
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
GetDefaultText() string
|
||||||
|
|
||||||
|
// GetValue returns the flags value as string representation and an empty
|
||||||
|
// string if the flag takes no value at all.
|
||||||
|
GetValue() string
|
||||||
}
|
}
|
||||||
Flag is a common interface related to parsing flags in cli. For more
|
Flag is a common interface related to parsing flags in cli. For more
|
||||||
advanced flag parsing techniques, it is recommended that this interface be
|
advanced flag parsing techniques, it is recommended that this interface be
|
||||||
@ -923,7 +923,7 @@ func (f *Float64Flag) Get(ctx *Context) float64
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *Float64Flag) GetCategory() string
|
func (f *Float64Flag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *Float64Flag) GetDefaultText() string
|
func (f *Float64Flag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -954,7 +954,7 @@ func (f *Float64Flag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *Float64Flag) TakesValue() bool
|
func (f *Float64Flag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type Float64Slice struct {
|
type Float64Slice struct {
|
||||||
// Has unexported fields.
|
// Has unexported fields.
|
||||||
@ -1006,7 +1006,7 @@ func (f *Float64SliceFlag) Get(ctx *Context) []float64
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *Float64SliceFlag) GetCategory() string
|
func (f *Float64SliceFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *Float64SliceFlag) GetDefaultText() string
|
func (f *Float64SliceFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1081,7 +1081,7 @@ func (f *GenericFlag) Get(ctx *Context) interface{}
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *GenericFlag) GetCategory() string
|
func (f *GenericFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *GenericFlag) GetDefaultText() string
|
func (f *GenericFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1112,7 +1112,7 @@ func (f *GenericFlag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *GenericFlag) TakesValue() bool
|
func (f *GenericFlag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type Int64Flag struct {
|
type Int64Flag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -1141,7 +1141,7 @@ func (f *Int64Flag) Get(ctx *Context) int64
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *Int64Flag) GetCategory() string
|
func (f *Int64Flag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *Int64Flag) GetDefaultText() string
|
func (f *Int64Flag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1172,7 +1172,7 @@ func (f *Int64Flag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *Int64Flag) TakesValue() bool
|
func (f *Int64Flag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type Int64Slice struct {
|
type Int64Slice struct {
|
||||||
// Has unexported fields.
|
// Has unexported fields.
|
||||||
@ -1224,7 +1224,7 @@ func (f *Int64SliceFlag) Get(ctx *Context) []int64
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *Int64SliceFlag) GetCategory() string
|
func (f *Int64SliceFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *Int64SliceFlag) GetDefaultText() string
|
func (f *Int64SliceFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1261,7 +1261,7 @@ func (f *Int64SliceFlag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *Int64SliceFlag) TakesValue() bool
|
func (f *Int64SliceFlag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type IntFlag struct {
|
type IntFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -1290,7 +1290,7 @@ func (f *IntFlag) Get(ctx *Context) int
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *IntFlag) GetCategory() string
|
func (f *IntFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *IntFlag) GetDefaultText() string
|
func (f *IntFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1321,7 +1321,7 @@ func (f *IntFlag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *IntFlag) TakesValue() bool
|
func (f *IntFlag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type IntSlice struct {
|
type IntSlice struct {
|
||||||
// Has unexported fields.
|
// Has unexported fields.
|
||||||
@ -1377,7 +1377,7 @@ func (f *IntSliceFlag) Get(ctx *Context) []int
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *IntSliceFlag) GetCategory() string
|
func (f *IntSliceFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *IntSliceFlag) GetDefaultText() string
|
func (f *IntSliceFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1414,7 +1414,7 @@ func (f *IntSliceFlag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *IntSliceFlag) TakesValue() bool
|
func (f *IntSliceFlag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type MultiError interface {
|
type MultiError interface {
|
||||||
error
|
error
|
||||||
@ -1431,8 +1431,8 @@ type MultiInt64Flag = SliceFlag[*Int64SliceFlag, []int64, int64]
|
|||||||
directly, as Value and/or Destination. See also SliceFlag.
|
directly, as Value and/or Destination. See also SliceFlag.
|
||||||
|
|
||||||
type MultiIntFlag = SliceFlag[*IntSliceFlag, []int, int]
|
type MultiIntFlag = SliceFlag[*IntSliceFlag, []int, int]
|
||||||
MultiIntFlag extends IntSliceFlag with support for using slices directly, as
|
MultiIntFlag extends IntSliceFlag with support for using slices directly,
|
||||||
Value and/or Destination. See also SliceFlag.
|
as Value and/or Destination. See also SliceFlag.
|
||||||
|
|
||||||
type MultiStringFlag = SliceFlag[*StringSliceFlag, []string, string]
|
type MultiStringFlag = SliceFlag[*StringSliceFlag, []string, string]
|
||||||
MultiStringFlag extends StringSliceFlag with support for using slices
|
MultiStringFlag extends StringSliceFlag with support for using slices
|
||||||
@ -1475,7 +1475,7 @@ func (f *PathFlag) Get(ctx *Context) string
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *PathFlag) GetCategory() string
|
func (f *PathFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *PathFlag) GetDefaultText() string
|
func (f *PathFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1506,16 +1506,7 @@ func (f *PathFlag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *PathFlag) TakesValue() bool
|
func (f *PathFlag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type RequiredFlag interface {
|
|
||||||
Flag
|
|
||||||
|
|
||||||
IsRequired() bool
|
|
||||||
}
|
|
||||||
RequiredFlag is an interface that allows us to mark flags as required it
|
|
||||||
allows flags required flags to be backwards compatible with the Flag
|
|
||||||
interface
|
|
||||||
|
|
||||||
type Serializer interface {
|
type Serializer interface {
|
||||||
Serialize() string
|
Serialize() string
|
||||||
@ -1527,9 +1518,9 @@ type SliceFlag[T SliceFlagTarget[E], S ~[]E, E any] struct {
|
|||||||
Value S
|
Value S
|
||||||
Destination *S
|
Destination *S
|
||||||
}
|
}
|
||||||
SliceFlag extends implementations like StringSliceFlag and IntSliceFlag with
|
SliceFlag extends implementations like StringSliceFlag and IntSliceFlag
|
||||||
support for using slices directly, as Value and/or Destination. See also
|
with support for using slices directly, as Value and/or Destination.
|
||||||
SliceFlagTarget, MultiStringFlag, MultiFloat64Flag, MultiInt64Flag,
|
See also SliceFlagTarget, MultiStringFlag, MultiFloat64Flag, MultiInt64Flag,
|
||||||
MultiIntFlag.
|
MultiIntFlag.
|
||||||
|
|
||||||
func (x *SliceFlag[T, S, E]) Apply(set *flag.FlagSet) error
|
func (x *SliceFlag[T, S, E]) Apply(set *flag.FlagSet) error
|
||||||
@ -1564,10 +1555,6 @@ func (x *SliceFlag[T, S, E]) TakesValue() bool
|
|||||||
|
|
||||||
type SliceFlagTarget[E any] interface {
|
type SliceFlagTarget[E any] interface {
|
||||||
Flag
|
Flag
|
||||||
RequiredFlag
|
|
||||||
DocGenerationFlag
|
|
||||||
VisibleFlag
|
|
||||||
CategorizableFlag
|
|
||||||
|
|
||||||
// SetValue should propagate the given slice to the target, ideally as a new value.
|
// SetValue should propagate the given slice to the target, ideally as a new value.
|
||||||
// Note that a nil slice should nil/clear any existing value (modelled as ~[]E).
|
// Note that a nil slice should nil/clear any existing value (modelled as ~[]E).
|
||||||
@ -1612,7 +1599,7 @@ func (f *StringFlag) Get(ctx *Context) string
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *StringFlag) GetCategory() string
|
func (f *StringFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *StringFlag) GetDefaultText() string
|
func (f *StringFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1643,7 +1630,7 @@ func (f *StringFlag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *StringFlag) TakesValue() bool
|
func (f *StringFlag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type StringSlice struct {
|
type StringSlice struct {
|
||||||
// Has unexported fields.
|
// Has unexported fields.
|
||||||
@ -1697,7 +1684,7 @@ func (f *StringSliceFlag) Get(ctx *Context) []string
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *StringSliceFlag) GetCategory() string
|
func (f *StringSliceFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *StringSliceFlag) GetDefaultText() string
|
func (f *StringSliceFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1734,7 +1721,7 @@ func (f *StringSliceFlag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *StringSliceFlag) TakesValue() bool
|
func (f *StringSliceFlag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type SuggestCommandFunc func(commands []*Command, provided string) string
|
type SuggestCommandFunc func(commands []*Command, provided string) string
|
||||||
|
|
||||||
@ -1800,7 +1787,7 @@ func (f *TimestampFlag) Get(ctx *Context) *time.Time
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *TimestampFlag) GetCategory() string
|
func (f *TimestampFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *TimestampFlag) GetDefaultText() string
|
func (f *TimestampFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1831,7 +1818,7 @@ func (f *TimestampFlag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *TimestampFlag) TakesValue() bool
|
func (f *TimestampFlag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type Uint64Flag struct {
|
type Uint64Flag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -1860,7 +1847,7 @@ func (f *Uint64Flag) Get(ctx *Context) uint64
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *Uint64Flag) GetCategory() string
|
func (f *Uint64Flag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *Uint64Flag) GetDefaultText() string
|
func (f *Uint64Flag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1891,7 +1878,7 @@ func (f *Uint64Flag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *Uint64Flag) TakesValue() bool
|
func (f *Uint64Flag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type UintFlag struct {
|
type UintFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -1920,7 +1907,7 @@ func (f *UintFlag) Get(ctx *Context) uint
|
|||||||
Get returns the flag’s value in the given Context.
|
Get returns the flag’s value in the given Context.
|
||||||
|
|
||||||
func (f *UintFlag) GetCategory() string
|
func (f *UintFlag) GetCategory() string
|
||||||
GetCategory returns the category for the flag
|
GetCategory returns the category of the flag
|
||||||
|
|
||||||
func (f *UintFlag) GetDefaultText() string
|
func (f *UintFlag) GetDefaultText() string
|
||||||
GetDefaultText returns the default text for this flag
|
GetDefaultText returns the default text for this flag
|
||||||
@ -1951,21 +1938,13 @@ func (f *UintFlag) String() string
|
|||||||
String returns a readable representation of this value (for usage defaults)
|
String returns a readable representation of this value (for usage defaults)
|
||||||
|
|
||||||
func (f *UintFlag) TakesValue() bool
|
func (f *UintFlag) TakesValue() bool
|
||||||
TakesValue returns true of the flag takes a value, otherwise false
|
TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
|
||||||
type VisibleFlag interface {
|
|
||||||
Flag
|
|
||||||
|
|
||||||
// IsVisible returns true if the flag is not hidden, otherwise false
|
|
||||||
IsVisible() bool
|
|
||||||
}
|
|
||||||
VisibleFlag is an interface that allows to check if a flag is visible
|
|
||||||
|
|
||||||
type VisibleFlagCategory interface {
|
type VisibleFlagCategory interface {
|
||||||
// Name returns the category name string
|
// Name returns the category name string
|
||||||
Name() string
|
Name() string
|
||||||
// Flags returns a slice of VisibleFlag sorted by name
|
// Flags returns a slice of VisibleFlag sorted by name
|
||||||
Flags() []VisibleFlag
|
Flags() []Flag
|
||||||
}
|
}
|
||||||
VisibleFlagCategory is a category containing flags.
|
VisibleFlagCategory is a category containing flags.
|
||||||
|
|
||||||
@ -1986,9 +1965,9 @@ func InitInputSource(flags []cli.Flag, createInputSource func() (InputSourceCont
|
|||||||
that are supported by the input source
|
that are supported by the input source
|
||||||
|
|
||||||
func InitInputSourceWithContext(flags []cli.Flag, createInputSource func(cCtx *cli.Context) (InputSourceContext, error)) cli.BeforeFunc
|
func InitInputSourceWithContext(flags []cli.Flag, createInputSource func(cCtx *cli.Context) (InputSourceContext, error)) cli.BeforeFunc
|
||||||
InitInputSourceWithContext is used to to setup an InputSourceContext on a
|
InitInputSourceWithContext is used to to setup an InputSourceContext on
|
||||||
cli.Command Before method. It will create a new input source based on the
|
a cli.Command Before method. It will create a new input source based on
|
||||||
func provided with potentially using existing cli.Context values to
|
the func provided with potentially using existing cli.Context values to
|
||||||
initialize itself. If there is no error it will then apply the new input
|
initialize itself. If there is no error it will then apply the new input
|
||||||
source to any flags that are supported by the input source
|
source to any flags that are supported by the input source
|
||||||
|
|
||||||
|
@ -45,21 +45,48 @@ func (f *{{.TypeName}}) Names() []string {
|
|||||||
return {{$.UrfaveCLINamespace}}FlagNames(f.Name, f.Aliases)
|
return {{$.UrfaveCLINamespace}}FlagNames(f.Name, f.Aliases)
|
||||||
}
|
}
|
||||||
|
|
||||||
{{end}}{{/* /if .GenerateFlagInterface */}}
|
|
||||||
|
|
||||||
{{if .GenerateRequiredFlagInterface}}
|
|
||||||
// IsRequired returns whether or not the flag is required
|
// IsRequired returns whether or not the flag is required
|
||||||
func (f *{{.TypeName}}) IsRequired() bool {
|
func (f *{{.TypeName}}) IsRequired() bool {
|
||||||
return f.Required
|
return f.Required
|
||||||
}
|
}
|
||||||
{{end}}{{/* /if .GenerateRequiredFlagInterface */}}
|
|
||||||
|
|
||||||
{{if .GenerateVisibleFlagInterface}}
|
|
||||||
// IsVisible returns true if the flag is not hidden, otherwise false
|
// IsVisible returns true if the flag is not hidden, otherwise false
|
||||||
func (f *{{.TypeName}}) IsVisible() bool {
|
func (f *{{.TypeName}}) IsVisible() bool {
|
||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
{{end}}{{/* /if .GenerateVisibleFlagInterface */}}
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *{{.TypeName}}) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *{{.TypeName}}) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *{{.TypeName}}) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *{{.TypeName}}) TakesValue() bool {
|
||||||
|
return "{{.TypeName }}" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
{{if .GenerateDefaultText}}
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *{{.TypeName}}) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
{{end}}
|
||||||
|
|
||||||
|
{{end}}{{/* /if .GenerateFlagInterface */}}
|
||||||
|
|
||||||
{{end}}{{/* /range .SortedFlagTypes */}}
|
{{end}}{{/* /range .SortedFlagTypes */}}
|
||||||
|
|
||||||
// vim{{/* 👻 */}}:ro
|
// vim{{/* 👻 */}}:ro
|
||||||
|
@ -10,6 +10,19 @@ func Test{{.TypeName}}_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.IsSet()
|
_ = f.IsSet()
|
||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Test{{.TypeName}}_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
|
var f {{$.UrfaveCLITestNamespace}}Flag = &{{$.UrfaveCLITestNamespace}}{{.TypeName}}{}
|
||||||
|
|
||||||
|
_ = f.IsRequired()
|
||||||
|
}
|
||||||
|
|
||||||
|
func Test{{.TypeName}}_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
|
var f {{$.UrfaveCLITestNamespace}}Flag = &{{$.UrfaveCLITestNamespace}}{{.TypeName}}{}
|
||||||
|
|
||||||
|
_ = f.IsVisible()
|
||||||
|
}
|
||||||
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if .GenerateFmtStringerInterface}}
|
{{if .GenerateFmtStringerInterface}}
|
||||||
@ -20,21 +33,7 @@ func Test{{.TypeName}}_SatisfiesFmtStringerInterface(t *testing.T) {
|
|||||||
}
|
}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
{{if .GenerateRequiredFlagInterface}}
|
|
||||||
func Test{{.TypeName}}_SatisfiesRequiredFlagInterface(t *testing.T) {
|
|
||||||
var f {{$.UrfaveCLITestNamespace}}RequiredFlag = &{{$.UrfaveCLITestNamespace}}{{.TypeName}}{}
|
|
||||||
|
|
||||||
_ = f.IsRequired()
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
|
|
||||||
{{if .GenerateVisibleFlagInterface}}
|
|
||||||
func Test{{.TypeName}}_SatisfiesVisibleFlagInterface(t *testing.T) {
|
|
||||||
var f {{$.UrfaveCLITestNamespace}}VisibleFlag = &{{$.UrfaveCLITestNamespace}}{{.TypeName}}{}
|
|
||||||
|
|
||||||
_ = f.IsVisible()
|
|
||||||
}
|
|
||||||
{{end}}
|
|
||||||
{{end}}
|
{{end}}
|
||||||
|
|
||||||
// vim{{/* 👻 */}}:ro
|
// vim{{/* 👻 */}}:ro
|
||||||
|
@ -43,6 +43,7 @@ type FlagTypeConfig struct {
|
|||||||
StructFields []*FlagStructField `yaml:"struct_fields"`
|
StructFields []*FlagStructField `yaml:"struct_fields"`
|
||||||
TypeName string `yaml:"type_name"`
|
TypeName string `yaml:"type_name"`
|
||||||
ValuePointer bool `yaml:"value_pointer"`
|
ValuePointer bool `yaml:"value_pointer"`
|
||||||
|
NoDefaultText bool `yaml:"no_default_text"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type FlagStructField struct {
|
type FlagStructField struct {
|
||||||
@ -83,12 +84,8 @@ func (ft *FlagType) GenerateFlagInterface() bool {
|
|||||||
return ft.skipInterfaceNamed("Flag")
|
return ft.skipInterfaceNamed("Flag")
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ft *FlagType) GenerateRequiredFlagInterface() bool {
|
func (ft *FlagType) GenerateDefaultText() bool {
|
||||||
return ft.skipInterfaceNamed("RequiredFlag")
|
return !ft.Config.NoDefaultText
|
||||||
}
|
|
||||||
|
|
||||||
func (ft *FlagType) GenerateVisibleFlagInterface() bool {
|
|
||||||
return ft.skipInterfaceNamed("VisibleFlag")
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ft *FlagType) skipInterfaceNamed(name string) bool {
|
func (ft *FlagType) skipInterfaceNamed(name string) bool {
|
||||||
|
@ -21,10 +21,6 @@ type (
|
|||||||
// update).
|
// update).
|
||||||
SliceFlagTarget[E any] interface {
|
SliceFlagTarget[E any] interface {
|
||||||
Flag
|
Flag
|
||||||
RequiredFlag
|
|
||||||
DocGenerationFlag
|
|
||||||
VisibleFlag
|
|
||||||
CategorizableFlag
|
|
||||||
|
|
||||||
// SetValue should propagate the given slice to the target, ideally as a new value.
|
// SetValue should propagate the given slice to the target, ideally as a new value.
|
||||||
// Note that a nil slice should nil/clear any existing value (modelled as ~[]E).
|
// Note that a nil slice should nil/clear any existing value (modelled as ~[]E).
|
||||||
|
@ -44,6 +44,34 @@ func (f *Float64SliceFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *Float64SliceFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *Float64SliceFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *Float64SliceFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *Float64SliceFlag) TakesValue() bool {
|
||||||
|
return "Float64SliceFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *Float64SliceFlag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// GenericFlag is a flag with type Generic
|
// GenericFlag is a flag with type Generic
|
||||||
type GenericFlag struct {
|
type GenericFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -91,6 +119,34 @@ func (f *GenericFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *GenericFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *GenericFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *GenericFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *GenericFlag) TakesValue() bool {
|
||||||
|
return "GenericFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *GenericFlag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// Int64SliceFlag is a flag with type *Int64Slice
|
// Int64SliceFlag is a flag with type *Int64Slice
|
||||||
type Int64SliceFlag struct {
|
type Int64SliceFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -131,6 +187,34 @@ func (f *Int64SliceFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *Int64SliceFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *Int64SliceFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *Int64SliceFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *Int64SliceFlag) TakesValue() bool {
|
||||||
|
return "Int64SliceFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *Int64SliceFlag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// IntSliceFlag is a flag with type *IntSlice
|
// IntSliceFlag is a flag with type *IntSlice
|
||||||
type IntSliceFlag struct {
|
type IntSliceFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -171,6 +255,34 @@ func (f *IntSliceFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *IntSliceFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *IntSliceFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *IntSliceFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *IntSliceFlag) TakesValue() bool {
|
||||||
|
return "IntSliceFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *IntSliceFlag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// PathFlag is a flag with type Path
|
// PathFlag is a flag with type Path
|
||||||
type PathFlag struct {
|
type PathFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -218,6 +330,26 @@ func (f *PathFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *PathFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *PathFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *PathFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *PathFlag) TakesValue() bool {
|
||||||
|
return "PathFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
// StringSliceFlag is a flag with type *StringSlice
|
// StringSliceFlag is a flag with type *StringSlice
|
||||||
type StringSliceFlag struct {
|
type StringSliceFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -260,6 +392,34 @@ func (f *StringSliceFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *StringSliceFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *StringSliceFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *StringSliceFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *StringSliceFlag) TakesValue() bool {
|
||||||
|
return "StringSliceFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *StringSliceFlag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// TimestampFlag is a flag with type *Timestamp
|
// TimestampFlag is a flag with type *Timestamp
|
||||||
type TimestampFlag struct {
|
type TimestampFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -309,6 +469,34 @@ func (f *TimestampFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *TimestampFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *TimestampFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *TimestampFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *TimestampFlag) TakesValue() bool {
|
||||||
|
return "TimestampFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *TimestampFlag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// BoolFlag is a flag with type bool
|
// BoolFlag is a flag with type bool
|
||||||
type BoolFlag struct {
|
type BoolFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -354,6 +542,26 @@ func (f *BoolFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *BoolFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *BoolFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *BoolFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *BoolFlag) TakesValue() bool {
|
||||||
|
return "BoolFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
// Float64Flag is a flag with type float64
|
// Float64Flag is a flag with type float64
|
||||||
type Float64Flag struct {
|
type Float64Flag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -399,6 +607,34 @@ func (f *Float64Flag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *Float64Flag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *Float64Flag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *Float64Flag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *Float64Flag) TakesValue() bool {
|
||||||
|
return "Float64Flag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *Float64Flag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// IntFlag is a flag with type int
|
// IntFlag is a flag with type int
|
||||||
type IntFlag struct {
|
type IntFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -444,6 +680,34 @@ func (f *IntFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *IntFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *IntFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *IntFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *IntFlag) TakesValue() bool {
|
||||||
|
return "IntFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *IntFlag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// Int64Flag is a flag with type int64
|
// Int64Flag is a flag with type int64
|
||||||
type Int64Flag struct {
|
type Int64Flag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -489,6 +753,34 @@ func (f *Int64Flag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *Int64Flag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *Int64Flag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *Int64Flag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *Int64Flag) TakesValue() bool {
|
||||||
|
return "Int64Flag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *Int64Flag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// StringFlag is a flag with type string
|
// StringFlag is a flag with type string
|
||||||
type StringFlag struct {
|
type StringFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -536,6 +828,26 @@ func (f *StringFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *StringFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *StringFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *StringFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *StringFlag) TakesValue() bool {
|
||||||
|
return "StringFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
// DurationFlag is a flag with type time.Duration
|
// DurationFlag is a flag with type time.Duration
|
||||||
type DurationFlag struct {
|
type DurationFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -581,6 +893,34 @@ func (f *DurationFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *DurationFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *DurationFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *DurationFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *DurationFlag) TakesValue() bool {
|
||||||
|
return "DurationFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *DurationFlag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// UintFlag is a flag with type uint
|
// UintFlag is a flag with type uint
|
||||||
type UintFlag struct {
|
type UintFlag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -626,6 +966,34 @@ func (f *UintFlag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *UintFlag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *UintFlag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *UintFlag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *UintFlag) TakesValue() bool {
|
||||||
|
return "UintFlag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *UintFlag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// Uint64Flag is a flag with type uint64
|
// Uint64Flag is a flag with type uint64
|
||||||
type Uint64Flag struct {
|
type Uint64Flag struct {
|
||||||
Name string
|
Name string
|
||||||
@ -671,4 +1039,32 @@ func (f *Uint64Flag) IsVisible() bool {
|
|||||||
return !f.Hidden
|
return !f.Hidden
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// GetCategory returns the category of the flag
|
||||||
|
func (f *Uint64Flag) GetCategory() string {
|
||||||
|
return f.Category
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetUsage returns the usage string for the flag
|
||||||
|
func (f *Uint64Flag) GetUsage() string {
|
||||||
|
return f.Usage
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetEnvVars returns the env vars for this flag
|
||||||
|
func (f *Uint64Flag) GetEnvVars() []string {
|
||||||
|
return f.EnvVars
|
||||||
|
}
|
||||||
|
|
||||||
|
// TakesValue returns true if the flag takes a value, otherwise false
|
||||||
|
func (f *Uint64Flag) TakesValue() bool {
|
||||||
|
return "Uint64Flag" != "BoolFlag"
|
||||||
|
}
|
||||||
|
|
||||||
|
// GetDefaultText returns the default text for this flag
|
||||||
|
func (f *Uint64Flag) GetDefaultText() string {
|
||||||
|
if f.DefaultText != "" {
|
||||||
|
return f.DefaultText
|
||||||
|
}
|
||||||
|
return f.GetValue()
|
||||||
|
}
|
||||||
|
|
||||||
// vim:ro
|
// vim:ro
|
||||||
|
@ -17,13 +17,13 @@ func TestFloat64SliceFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestFloat64SliceFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestFloat64SliceFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.Float64SliceFlag{}
|
var f cli.Flag = &cli.Float64SliceFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestFloat64SliceFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestFloat64SliceFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.Float64SliceFlag{}
|
var f cli.Flag = &cli.Float64SliceFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
@ -35,24 +35,24 @@ func TestGenericFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGenericFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
|
||||||
var f fmt.Stringer = &cli.GenericFlag{}
|
|
||||||
|
|
||||||
_ = f.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestGenericFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestGenericFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.GenericFlag{}
|
var f cli.Flag = &cli.GenericFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestGenericFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestGenericFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.GenericFlag{}
|
var f cli.Flag = &cli.GenericFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestGenericFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
||||||
|
var f fmt.Stringer = &cli.GenericFlag{}
|
||||||
|
|
||||||
|
_ = f.String()
|
||||||
|
}
|
||||||
|
|
||||||
func TestInt64SliceFlag_SatisfiesFlagInterface(t *testing.T) {
|
func TestInt64SliceFlag_SatisfiesFlagInterface(t *testing.T) {
|
||||||
var f cli.Flag = &cli.Int64SliceFlag{}
|
var f cli.Flag = &cli.Int64SliceFlag{}
|
||||||
|
|
||||||
@ -61,13 +61,13 @@ func TestInt64SliceFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestInt64SliceFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestInt64SliceFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.Int64SliceFlag{}
|
var f cli.Flag = &cli.Int64SliceFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInt64SliceFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestInt64SliceFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.Int64SliceFlag{}
|
var f cli.Flag = &cli.Int64SliceFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
@ -80,13 +80,13 @@ func TestIntSliceFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestIntSliceFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestIntSliceFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.IntSliceFlag{}
|
var f cli.Flag = &cli.IntSliceFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestIntSliceFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestIntSliceFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.IntSliceFlag{}
|
var f cli.Flag = &cli.IntSliceFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
@ -98,24 +98,24 @@ func TestPathFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPathFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
|
||||||
var f fmt.Stringer = &cli.PathFlag{}
|
|
||||||
|
|
||||||
_ = f.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestPathFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestPathFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.PathFlag{}
|
var f cli.Flag = &cli.PathFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPathFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestPathFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.PathFlag{}
|
var f cli.Flag = &cli.PathFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestPathFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
||||||
|
var f fmt.Stringer = &cli.PathFlag{}
|
||||||
|
|
||||||
|
_ = f.String()
|
||||||
|
}
|
||||||
|
|
||||||
func TestStringSliceFlag_SatisfiesFlagInterface(t *testing.T) {
|
func TestStringSliceFlag_SatisfiesFlagInterface(t *testing.T) {
|
||||||
var f cli.Flag = &cli.StringSliceFlag{}
|
var f cli.Flag = &cli.StringSliceFlag{}
|
||||||
|
|
||||||
@ -124,13 +124,13 @@ func TestStringSliceFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func TestStringSliceFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestStringSliceFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.StringSliceFlag{}
|
var f cli.Flag = &cli.StringSliceFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestStringSliceFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestStringSliceFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.StringSliceFlag{}
|
var f cli.Flag = &cli.StringSliceFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
@ -142,24 +142,24 @@ func TestTimestampFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTimestampFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
|
||||||
var f fmt.Stringer = &cli.TimestampFlag{}
|
|
||||||
|
|
||||||
_ = f.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestTimestampFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestTimestampFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.TimestampFlag{}
|
var f cli.Flag = &cli.TimestampFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTimestampFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestTimestampFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.TimestampFlag{}
|
var f cli.Flag = &cli.TimestampFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestTimestampFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
||||||
|
var f fmt.Stringer = &cli.TimestampFlag{}
|
||||||
|
|
||||||
|
_ = f.String()
|
||||||
|
}
|
||||||
|
|
||||||
func TestBoolFlag_SatisfiesFlagInterface(t *testing.T) {
|
func TestBoolFlag_SatisfiesFlagInterface(t *testing.T) {
|
||||||
var f cli.Flag = &cli.BoolFlag{}
|
var f cli.Flag = &cli.BoolFlag{}
|
||||||
|
|
||||||
@ -167,24 +167,24 @@ func TestBoolFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBoolFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
|
||||||
var f fmt.Stringer = &cli.BoolFlag{}
|
|
||||||
|
|
||||||
_ = f.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestBoolFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestBoolFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.BoolFlag{}
|
var f cli.Flag = &cli.BoolFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBoolFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestBoolFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.BoolFlag{}
|
var f cli.Flag = &cli.BoolFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestBoolFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
||||||
|
var f fmt.Stringer = &cli.BoolFlag{}
|
||||||
|
|
||||||
|
_ = f.String()
|
||||||
|
}
|
||||||
|
|
||||||
func TestFloat64Flag_SatisfiesFlagInterface(t *testing.T) {
|
func TestFloat64Flag_SatisfiesFlagInterface(t *testing.T) {
|
||||||
var f cli.Flag = &cli.Float64Flag{}
|
var f cli.Flag = &cli.Float64Flag{}
|
||||||
|
|
||||||
@ -192,24 +192,24 @@ func TestFloat64Flag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestFloat64Flag_SatisfiesFmtStringerInterface(t *testing.T) {
|
|
||||||
var f fmt.Stringer = &cli.Float64Flag{}
|
|
||||||
|
|
||||||
_ = f.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestFloat64Flag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestFloat64Flag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.Float64Flag{}
|
var f cli.Flag = &cli.Float64Flag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestFloat64Flag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestFloat64Flag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.Float64Flag{}
|
var f cli.Flag = &cli.Float64Flag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestFloat64Flag_SatisfiesFmtStringerInterface(t *testing.T) {
|
||||||
|
var f fmt.Stringer = &cli.Float64Flag{}
|
||||||
|
|
||||||
|
_ = f.String()
|
||||||
|
}
|
||||||
|
|
||||||
func TestIntFlag_SatisfiesFlagInterface(t *testing.T) {
|
func TestIntFlag_SatisfiesFlagInterface(t *testing.T) {
|
||||||
var f cli.Flag = &cli.IntFlag{}
|
var f cli.Flag = &cli.IntFlag{}
|
||||||
|
|
||||||
@ -217,24 +217,24 @@ func TestIntFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestIntFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
|
||||||
var f fmt.Stringer = &cli.IntFlag{}
|
|
||||||
|
|
||||||
_ = f.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestIntFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestIntFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.IntFlag{}
|
var f cli.Flag = &cli.IntFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestIntFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestIntFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.IntFlag{}
|
var f cli.Flag = &cli.IntFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestIntFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
||||||
|
var f fmt.Stringer = &cli.IntFlag{}
|
||||||
|
|
||||||
|
_ = f.String()
|
||||||
|
}
|
||||||
|
|
||||||
func TestInt64Flag_SatisfiesFlagInterface(t *testing.T) {
|
func TestInt64Flag_SatisfiesFlagInterface(t *testing.T) {
|
||||||
var f cli.Flag = &cli.Int64Flag{}
|
var f cli.Flag = &cli.Int64Flag{}
|
||||||
|
|
||||||
@ -242,24 +242,24 @@ func TestInt64Flag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInt64Flag_SatisfiesFmtStringerInterface(t *testing.T) {
|
|
||||||
var f fmt.Stringer = &cli.Int64Flag{}
|
|
||||||
|
|
||||||
_ = f.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestInt64Flag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestInt64Flag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.Int64Flag{}
|
var f cli.Flag = &cli.Int64Flag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestInt64Flag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestInt64Flag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.Int64Flag{}
|
var f cli.Flag = &cli.Int64Flag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestInt64Flag_SatisfiesFmtStringerInterface(t *testing.T) {
|
||||||
|
var f fmt.Stringer = &cli.Int64Flag{}
|
||||||
|
|
||||||
|
_ = f.String()
|
||||||
|
}
|
||||||
|
|
||||||
func TestStringFlag_SatisfiesFlagInterface(t *testing.T) {
|
func TestStringFlag_SatisfiesFlagInterface(t *testing.T) {
|
||||||
var f cli.Flag = &cli.StringFlag{}
|
var f cli.Flag = &cli.StringFlag{}
|
||||||
|
|
||||||
@ -267,24 +267,24 @@ func TestStringFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestStringFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
|
||||||
var f fmt.Stringer = &cli.StringFlag{}
|
|
||||||
|
|
||||||
_ = f.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestStringFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestStringFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.StringFlag{}
|
var f cli.Flag = &cli.StringFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestStringFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestStringFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.StringFlag{}
|
var f cli.Flag = &cli.StringFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestStringFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
||||||
|
var f fmt.Stringer = &cli.StringFlag{}
|
||||||
|
|
||||||
|
_ = f.String()
|
||||||
|
}
|
||||||
|
|
||||||
func TestDurationFlag_SatisfiesFlagInterface(t *testing.T) {
|
func TestDurationFlag_SatisfiesFlagInterface(t *testing.T) {
|
||||||
var f cli.Flag = &cli.DurationFlag{}
|
var f cli.Flag = &cli.DurationFlag{}
|
||||||
|
|
||||||
@ -292,24 +292,24 @@ func TestDurationFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDurationFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
|
||||||
var f fmt.Stringer = &cli.DurationFlag{}
|
|
||||||
|
|
||||||
_ = f.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestDurationFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestDurationFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.DurationFlag{}
|
var f cli.Flag = &cli.DurationFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDurationFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestDurationFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.DurationFlag{}
|
var f cli.Flag = &cli.DurationFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestDurationFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
||||||
|
var f fmt.Stringer = &cli.DurationFlag{}
|
||||||
|
|
||||||
|
_ = f.String()
|
||||||
|
}
|
||||||
|
|
||||||
func TestUintFlag_SatisfiesFlagInterface(t *testing.T) {
|
func TestUintFlag_SatisfiesFlagInterface(t *testing.T) {
|
||||||
var f cli.Flag = &cli.UintFlag{}
|
var f cli.Flag = &cli.UintFlag{}
|
||||||
|
|
||||||
@ -317,24 +317,24 @@ func TestUintFlag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUintFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
|
||||||
var f fmt.Stringer = &cli.UintFlag{}
|
|
||||||
|
|
||||||
_ = f.String()
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestUintFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
func TestUintFlag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
var f cli.RequiredFlag = &cli.UintFlag{}
|
var f cli.Flag = &cli.UintFlag{}
|
||||||
|
|
||||||
_ = f.IsRequired()
|
_ = f.IsRequired()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUintFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
func TestUintFlag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
var f cli.VisibleFlag = &cli.UintFlag{}
|
var f cli.Flag = &cli.UintFlag{}
|
||||||
|
|
||||||
_ = f.IsVisible()
|
_ = f.IsVisible()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUintFlag_SatisfiesFmtStringerInterface(t *testing.T) {
|
||||||
|
var f fmt.Stringer = &cli.UintFlag{}
|
||||||
|
|
||||||
|
_ = f.String()
|
||||||
|
}
|
||||||
|
|
||||||
func TestUint64Flag_SatisfiesFlagInterface(t *testing.T) {
|
func TestUint64Flag_SatisfiesFlagInterface(t *testing.T) {
|
||||||
var f cli.Flag = &cli.Uint64Flag{}
|
var f cli.Flag = &cli.Uint64Flag{}
|
||||||
|
|
||||||
@ -342,22 +342,22 @@ func TestUint64Flag_SatisfiesFlagInterface(t *testing.T) {
|
|||||||
_ = f.Names()
|
_ = f.Names()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func TestUint64Flag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
||||||
|
var f cli.Flag = &cli.Uint64Flag{}
|
||||||
|
|
||||||
|
_ = f.IsRequired()
|
||||||
|
}
|
||||||
|
|
||||||
|
func TestUint64Flag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
||||||
|
var f cli.Flag = &cli.Uint64Flag{}
|
||||||
|
|
||||||
|
_ = f.IsVisible()
|
||||||
|
}
|
||||||
|
|
||||||
func TestUint64Flag_SatisfiesFmtStringerInterface(t *testing.T) {
|
func TestUint64Flag_SatisfiesFmtStringerInterface(t *testing.T) {
|
||||||
var f fmt.Stringer = &cli.Uint64Flag{}
|
var f fmt.Stringer = &cli.Uint64Flag{}
|
||||||
|
|
||||||
_ = f.String()
|
_ = f.String()
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUint64Flag_SatisfiesRequiredFlagInterface(t *testing.T) {
|
|
||||||
var f cli.RequiredFlag = &cli.Uint64Flag{}
|
|
||||||
|
|
||||||
_ = f.IsRequired()
|
|
||||||
}
|
|
||||||
|
|
||||||
func TestUint64Flag_SatisfiesVisibleFlagInterface(t *testing.T) {
|
|
||||||
var f cli.VisibleFlag = &cli.Uint64Flag{}
|
|
||||||
|
|
||||||
_ = f.IsVisible()
|
|
||||||
}
|
|
||||||
|
|
||||||
// vim:ro
|
// vim:ro
|
||||||
|
Loading…
Reference in New Issue
Block a user