From 6b2e4d3828d238dc9b076e6f2aef9db2da7a6421 Mon Sep 17 00:00:00 2001 From: fabianofranz Date: Mon, 30 Mar 2015 15:23:33 -0300 Subject: [PATCH] Issue 1200: use single quotes when printing usage for string flags --- pkg/cmd/cli/cmd/options.go | 2 +- pkg/cmd/templates/templater.go | 22 ++++++++++++++++++++++ pkg/cmd/templates/templates.go | 15 +++++++-------- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/pkg/cmd/cli/cmd/options.go b/pkg/cmd/cli/cmd/options.go index 73e8d20b962b..b6c0f4bddfe5 100644 --- a/pkg/cmd/cli/cmd/options.go +++ b/pkg/cmd/cli/cmd/options.go @@ -13,7 +13,7 @@ func NewCmdOptions(f *clientcmd.Factory, out io.Writer) *cobra.Command { cmd := &cobra.Command{ Use: "options", Run: func(cmd *cobra.Command, args []string) { - cmd.Help() + cmd.Usage() }, } diff --git a/pkg/cmd/templates/templater.go b/pkg/cmd/templates/templater.go index a5d3c0aae88d..ad8612b0d270 100644 --- a/pkg/cmd/templates/templater.go +++ b/pkg/cmd/templates/templater.go @@ -1,6 +1,7 @@ package templates import ( + "bytes" "fmt" "strings" "text/template" @@ -37,6 +38,27 @@ func (templater *Templater) UsageFunc() func(*cobra.Command) error { } return exposed }, + "flagsUsages": func(f *flag.FlagSet) string { + x := new(bytes.Buffer) + + f.VisitAll(func(flag *flag.Flag) { + format := "--%s=%s: %s\n" + + if flag.Value.Type() == "string" { + format = "--%s='%s': %s\n" + } + + if len(flag.Shorthand) > 0 { + format = " -%s, " + format + } else { + format = " %s " + format + } + + fmt.Fprintf(x, format, flag.Shorthand, flag.Name, flag.DefValue, flag.Usage) + }) + + return x.String() + }, }) template.Must(t.Parse(templater.UsageTemplate)) diff --git a/pkg/cmd/templates/templates.go b/pkg/cmd/templates/templates.go index 14dc8e6aaccc..0454157b7fb2 100644 --- a/pkg/cmd/templates/templates.go +++ b/pkg/cmd/templates/templates.go @@ -61,9 +61,9 @@ Available Commands: {{range .Commands}}{{if .Runnable}} {{rpad .Use .UsagePadding }} {{.Short}}{{end}}{{end}} {{end}} {{ if .HasLocalFlags}}Options: -{{.LocalFlags.FlagUsages}}{{end}} +{{flagsUsages .LocalFlags}}{{end}} {{ if .HasAnyPersistentFlags}}Global Options: -{{.AllPersistentFlags.FlagUsages}}{{end}}{{ if .HasSubCommands }} +{{flagsUsages .AllPersistentFlags}}{{end}}{{ if .HasSubCommands }} Use "{{.Root.Name}} --help" for more information about a given command. {{end}}` @@ -75,7 +75,7 @@ Available Commands: {{range .Commands}}{{if .Runnable}}{{if ne .Name "options"}} {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}} {{end}} {{ if or .HasLocalFlags $exposedFlags.HasFlags}}Options: -{{ if .HasLocalFlags}}{{.LocalFlags.FlagUsages}}{{end}}{{ if $exposedFlags.HasFlags}}{{$exposedFlags.FlagUsages}}{{end}} +{{ if .HasLocalFlags}}{{flagsUsages .LocalFlags}}{{end}}{{ if $exposedFlags.HasFlags}}{{flagsUsages $exposedFlags}}{{end}} {{end}}{{ if not $isRootCmd}}Use "{{template "rootCli" .}} --help" for a list of all commands available in {{template "rootCli" .}}. {{end}}{{ if .HasSubCommands }}Use "{{template "rootCli" .}} --help" for more information about a given command. {{end}}{{ if .HasAnyPersistentFlags}}Use "{{template "rootCli" .}} options" for a list of global command-line options (applies to all commands). @@ -89,16 +89,15 @@ Available Commands: {{range .Commands}}{{if .Runnable}}{{if ne .Name "options"}} {{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}{{end}} {{end}} {{ if or .HasLocalFlags $exposedFlags.HasFlags}}Options: -{{ if .HasLocalFlags}}{{.LocalFlags.FlagUsages}}{{end}}{{ if $exposedFlags.HasFlags}}{{$exposedFlags.FlagUsages}}{{end}} +{{ if .HasLocalFlags}}{{flagsUsages .LocalFlags}}{{end}}{{ if $exposedFlags.HasFlags}}{{flagsUsages $exposedFlags}}{{end}} {{end}}{{ if not $isRootCmd}}Use "{{template "rootCli" .}} --help" for a list of all commands available in {{template "rootCli" .}}. {{end}}{{ if .HasSubCommands }}Use "{{template "rootCli" .}} --help" for more information about a given command. {{end}}{{ if .HasAnyPersistentFlags}}Use "{{template "rootCli" .}} options" for a list of global command-line options (applies to all commands). {{end}}` - optionsHelpTemplate = `{{ if .HasAnyPersistentFlags}}The following options can be passed to any command: + optionsHelpTemplate = `` -{{.AllPersistentFlags.FlagUsages}}{{end}} -` + optionsUsageTemplate = `{{ if .HasAnyPersistentFlags}}The following options can be passed to any command: - optionsUsageTemplate = `` +{{flagsUsages .AllPersistentFlags}}{{end}}` )