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:
		
							
								
								
									
										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
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user