From 80a0e584b990f2fc8ba29cecd78c9cd961fa71fe Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Sat, 16 Jul 2016 16:44:10 +0200 Subject: [PATCH] Don't automagically add "[OPTIONS]" to usage This removes the logic to automatically add [OPTIONS] to the usage output. The current logic was broken if a command only has deprecated or hidden flags, and in many cases put the [OPTIONS] in the wrong location. Requiring the usage string to be set manually gives more predictable results, and shouldn't require much to maintain. Signed-off-by: Sebastiaan van Stijn Upstream-commit: 6393b5fcc7506d6e3606c508a2d99ec28a4c3bf0 Component: cli --- components/cli/cli.go | 7 +------ components/cli/cobraadaptor/adaptor.go | 4 ++-- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/components/cli/cli.go b/components/cli/cli.go index f6d48d6fac..8d21cda69d 100644 --- a/components/cli/cli.go +++ b/components/cli/cli.go @@ -155,11 +155,6 @@ func Subcmd(name string, synopses []string, description string, exitOnError bool } flags.ShortUsage = func() { - options := "" - if flags.FlagCountUndeprecated() > 0 { - options = " [OPTIONS]" - } - if len(synopses) == 0 { synopses = []string{""} } @@ -176,7 +171,7 @@ func Subcmd(name string, synopses []string, description string, exitOnError bool synopsis = " " + synopsis } - fmt.Fprintf(flags.Out(), "\n%sdocker %s%s%s", lead, name, options, synopsis) + fmt.Fprintf(flags.Out(), "\n%sdocker %s%s", lead, name, synopsis) } fmt.Fprintf(flags.Out(), "\n\n%s\n", description) diff --git a/components/cli/cobraadaptor/adaptor.go b/components/cli/cobraadaptor/adaptor.go index 589e46c160..f63307cb8b 100644 --- a/components/cli/cobraadaptor/adaptor.go +++ b/components/cli/cobraadaptor/adaptor.go @@ -32,7 +32,7 @@ func NewCobraAdaptor(clientFlags *cliflags.ClientFlags) CobraAdaptor { dockerCli := client.NewDockerCli(stdin, stdout, stderr, clientFlags) var rootCmd = &cobra.Command{ - Use: "docker", + Use: "docker [OPTIONS]", SilenceUsage: true, SilenceErrors: true, } @@ -131,7 +131,7 @@ func (c CobraAdaptor) Command(name string) func(...string) error { return nil } -var usageTemplate = `Usage: {{if not .HasSubCommands}}{{if .HasLocalFlags}}{{appendIfNotPresent .UseLine "[OPTIONS]"}}{{else}}{{.UseLine}}{{end}}{{end}}{{if .HasSubCommands}}{{ .CommandPath}} COMMAND{{end}} +var usageTemplate = `Usage: {{if not .HasSubCommands}}{{.UseLine}}{{end}}{{if .HasSubCommands}}{{ .CommandPath}} COMMAND{{end}} {{with or .Long .Short }}{{. | trim}}{{end}}{{if gt .Aliases 0}}