From cd92adcb7512ec11789a2b3bed9028367da1b175 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Mon, 2 May 2016 19:58:16 -0400 Subject: [PATCH] Further simplifying default flag stringer func --- flag.go | 20 +++++++------------- 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/flag.go b/flag.go index 8f124d3..3b6a2e1 100644 --- a/flag.go +++ b/flag.go @@ -581,35 +581,29 @@ func stringifyFlag(f Flag) string { } placeholder, usage := unquoteUsage(fv.FieldByName("Usage").String()) - needsPlaceholder := false + needsPlaceholder := false defaultValueString := "" val := fv.FieldByName("Value") - valString := "" if val.IsValid() { needsPlaceholder = true + defaultValueString = fmt.Sprintf(" (default: %v)", val.Interface()) + if val.Kind() == reflect.String && val.String() != "" { - valString = fmt.Sprintf("%q", val.String()) - } else { - valString = fmt.Sprintf("%v", val.Interface()) + defaultValueString = fmt.Sprintf(" (default: %q)", val.String()) } } - if valString != "" { - defaultValueString = valString + if defaultValueString == " (default: )" { + defaultValueString = "" } if needsPlaceholder && placeholder == "" { placeholder = defaultPlaceholder } - formattedDefaultValueString := "" - if defaultValueString != "" { - formattedDefaultValueString = fmt.Sprintf(" (default: %v)", defaultValueString) - } - - usageWithDefault := strings.TrimSpace(fmt.Sprintf("%s%s", usage, formattedDefaultValueString)) + usageWithDefault := strings.TrimSpace(fmt.Sprintf("%s%s", usage, defaultValueString)) return withEnvHint(fv.FieldByName("EnvVar").String(), fmt.Sprintf("%s\t%s", prefixedNames(fv.FieldByName("Name").String(), placeholder), usageWithDefault))