From 9173d259efa4541969667cda57d52663c48c66db Mon Sep 17 00:00:00 2001 From: Mario Hros Date: Wed, 8 Mar 2017 20:44:01 +0100 Subject: [PATCH] nicer usage output --- usage.go | 8 ++++---- usage_test.go | 32 ++++++++++++++++---------------- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/usage.go b/usage.go index ad028e0..bf7fb83 100644 --- a/usage.go +++ b/usage.go @@ -33,7 +33,7 @@ func (p *Parser) WriteUsage(w io.Writer) { fmt.Fprintln(w, p.version) } - fmt.Fprintf(w, "usage: %s", p.config.Program) + fmt.Fprintf(w, "Usage: %s", p.config.Program) // write the option component of the usage message for _, spec := range options { @@ -80,9 +80,9 @@ func (p *Parser) WriteHelp(w io.Writer) { // write the list of positionals if len(positionals) > 0 { - fmt.Fprint(w, "\npositional arguments:\n") + fmt.Fprint(w, "\nPositional arguments:\n") for _, spec := range positionals { - left := " " + spec.long + left := " " + strings.ToUpper(spec.long) fmt.Fprint(w, left) if spec.help != "" { if len(left)+2 < colWidth { @@ -97,7 +97,7 @@ func (p *Parser) WriteHelp(w io.Writer) { } // write the list of options - fmt.Fprint(w, "\noptions:\n") + fmt.Fprint(w, "\nOptions:\n") for _, spec := range options { printOption(w, spec) } diff --git a/usage_test.go b/usage_test.go index 29a952c..bf78a80 100644 --- a/usage_test.go +++ b/usage_test.go @@ -10,15 +10,15 @@ import ( ) func TestWriteUsage(t *testing.T) { - expectedUsage := "usage: example [--name NAME] [--value VALUE] [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] [--ids IDS] [--values VALUES] [--workers WORKERS] INPUT [OUTPUT [OUTPUT ...]]\n" + expectedUsage := "Usage: example [--name NAME] [--value VALUE] [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] [--ids IDS] [--values VALUES] [--workers WORKERS] INPUT [OUTPUT [OUTPUT ...]]\n" - expectedHelp := `usage: example [--name NAME] [--value VALUE] [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] [--ids IDS] [--values VALUES] [--workers WORKERS] INPUT [OUTPUT [OUTPUT ...]] + expectedHelp := `Usage: example [--name NAME] [--value VALUE] [--verbose] [--dataset DATASET] [--optimize OPTIMIZE] [--ids IDS] [--values VALUES] [--workers WORKERS] INPUT [OUTPUT [OUTPUT ...]] -positional arguments: - input - output list of outputs +Positional arguments: + INPUT + OUTPUT list of outputs -options: +Options: --name NAME name to use [default: Foo Bar] --value VALUE secret value [default: 42] --verbose, -v verbosity level @@ -61,13 +61,13 @@ options: } func TestUsageLongPositionalWithHelp(t *testing.T) { - expectedHelp := `usage: example VERYLONGPOSITIONALWITHHELP + expectedHelp := `Usage: example VERYLONGPOSITIONALWITHHELP -positional arguments: - verylongpositionalwithhelp +Positional arguments: + VERYLONGPOSITIONALWITHHELP this positional argument is very long -options: +Options: --help, -h display this help and exit ` var args struct { @@ -84,9 +84,9 @@ options: } func TestUsageWithProgramName(t *testing.T) { - expectedHelp := `usage: myprogram + expectedHelp := `Usage: myprogram -options: +Options: --help, -h display this help and exit ` config := Config{ @@ -110,9 +110,9 @@ func (versioned) Version() string { func TestUsageWithVersion(t *testing.T) { expectedHelp := `example 3.2.1 -usage: example +Usage: example -options: +Options: --help, -h display this help and exit --version display version and exit ` @@ -139,9 +139,9 @@ func (described) Description() string { func TestUsageWithDescription(t *testing.T) { expectedHelp := `this program does this and that -usage: example +Usage: example -options: +Options: --help, -h display this help and exit ` os.Args[0] = "example"