diff options
| author | Tomas Aschan <[email protected]> | 2025-06-28 11:26:14 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-28 11:26:14 +0200 |
| commit | 1c62fb2813da5f1d1b893a49180a41b3f6be3262 (patch) | |
| tree | 289c9ab56575327b848a6dae879737cf9b1edb4d /flag.go | |
| parent | 8a6c85f2ae488081f953744f9edc414bac10ee45 (diff) | |
| parent | 1a4b5b2e5c7ee4a194cebc579bb34198187df73d (diff) | |
Merge pull request #431 from LeGEC/430-fix-usage-message-for-func-flags
fix usage message for func flags, fix arguments order
Diffstat (limited to 'flag.go')
| -rw-r--r-- | flag.go | 8 |
1 files changed, 5 insertions, 3 deletions
@@ -549,7 +549,7 @@ func (f *FlagSet) PrintDefaults() { func (f *Flag) defaultIsZeroValue() bool { switch f.Value.(type) { case boolFlag: - return f.DefValue == "false" + return f.DefValue == "false" || f.DefValue == "" case *durationValue: // Beginning in Go 1.7, duration zero values are "0s" return f.DefValue == "0" || f.DefValue == "0s" @@ -599,8 +599,10 @@ func UnquoteUsage(flag *Flag) (name string, usage string) { name = flag.Value.Type() switch name { - case "bool": + case "bool", "boolfunc": name = "" + case "func": + name = "value" case "float64": name = "float" case "int64": @@ -718,7 +720,7 @@ func (f *FlagSet) FlagUsagesWrapped(cols int) string { switch flag.Value.Type() { case "string": line += fmt.Sprintf("[=\"%s\"]", flag.NoOptDefVal) - case "bool": + case "bool", "boolfunc": if flag.NoOptDefVal != "true" { line += fmt.Sprintf("[=%s]", flag.NoOptDefVal) } |
