From a5c4bbf178a40a1f2a7ecf410f5496f103ab1a2c Mon Sep 17 00:00:00 2001 From: Eric Paris Date: Fri, 14 Aug 2015 20:45:28 -0400 Subject: Annotate optional flags in usageFunc --- flag.go | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/flag.go b/flag.go index c45ad0f..0dce0a3 100644 --- a/flag.go +++ b/flag.go @@ -381,16 +381,25 @@ func (f *FlagSet) FlagUsages() string { if len(flag.Deprecated) > 0 { return } - format := "--%s=%s: %s\n" + format := "" + if len(flag.Shorthand) > 0 { + format = " -%s, --%s" + } else { + format = " %s --%s" + } + if len(flag.NoOptDefVal) > 0 { + format = format + "[" + } if _, ok := flag.Value.(*stringValue); ok { // put quotes on the value - format = "--%s=%q: %s\n" - } - if len(flag.Shorthand) > 0 { - format = " -%s, " + format + format = format + "=%q" } else { - format = " %s " + format + format = format + "=%s" } + if len(flag.NoOptDefVal) > 0 { + format = format + "]" + } + format = format + ": %s\n" fmt.Fprintf(x, format, flag.Shorthand, flag.Name, flag.DefValue, flag.Usage) }) -- cgit v1.2.3