forked from mirror/cobra
New "example" section of commands
We have a long and short description. This adds an "Example" section. Which can used to create better docs than putting it all in Long.
This commit is contained in:
parent
a16cb24999
commit
bf480fe628
13
command.go
13
command.go
|
@ -40,6 +40,8 @@ type Command struct {
|
||||||
Short string
|
Short string
|
||||||
// The long message shown in the 'help <this-command>' output.
|
// The long message shown in the 'help <this-command>' output.
|
||||||
Long string
|
Long string
|
||||||
|
// Examples of how to use the command
|
||||||
|
Example string
|
||||||
// Full set of flags
|
// Full set of flags
|
||||||
flags *flag.FlagSet
|
flags *flag.FlagSet
|
||||||
// Set of flags childrens of this command will inherit
|
// Set of flags childrens of this command will inherit
|
||||||
|
@ -206,8 +208,11 @@ Usage: {{if .Runnable}}
|
||||||
{{ .CommandPath}} [command]{{end}}{{if gt .Aliases 0}}
|
{{ .CommandPath}} [command]{{end}}{{if gt .Aliases 0}}
|
||||||
|
|
||||||
Aliases:
|
Aliases:
|
||||||
{{.NameAndAliases}}{{end}}
|
{{.NameAndAliases}}
|
||||||
{{ if .HasSubCommands}}
|
{{end}}{{if .HasExample}}
|
||||||
|
Examples:
|
||||||
|
{{ .Example }}
|
||||||
|
{{end}}{{ if .HasSubCommands}}
|
||||||
Available Commands: {{range .Commands}}{{if .Runnable}}
|
Available Commands: {{range .Commands}}{{if .Runnable}}
|
||||||
{{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}
|
{{rpad .Name .NamePadding }} {{.Short}}{{end}}{{end}}
|
||||||
{{end}}
|
{{end}}
|
||||||
|
@ -684,6 +689,10 @@ func (c *Command) NameAndAliases() string {
|
||||||
return strings.Join(append([]string{c.Name()}, c.Aliases...), ", ")
|
return strings.Join(append([]string{c.Name()}, c.Aliases...), ", ")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *Command) HasExample() bool {
|
||||||
|
return len(c.Example) > 0
|
||||||
|
}
|
||||||
|
|
||||||
// Determine if the command is itself runnable
|
// Determine if the command is itself runnable
|
||||||
func (c *Command) Runnable() bool {
|
func (c *Command) Runnable() bool {
|
||||||
return c.Run != nil
|
return c.Run != nil
|
||||||
|
|
Loading…
Reference in New Issue