Fixing the issue with a command with subcommands not showing help message.
- the command name is "" and HasName was returning true for an empty ShortName. - the Show method wasn't aware that command name was just "" and returned the first subcommand.
This commit is contained in:
parent
50c77ecec0
commit
4be878bffc
@ -119,7 +119,7 @@ func (c Command) Run(ctx *Context) error {
|
||||
|
||||
// Returns true if Command.Name or Command.ShortName matches given name
|
||||
func (c Command) HasName(name string) bool {
|
||||
return c.Name == name || c.ShortName == name
|
||||
return c.Name == name || (c.ShortName != "" && c.ShortName == name)
|
||||
}
|
||||
|
||||
func (c Command) startApp(ctx *Context) error {
|
||||
|
6
help.go
6
help.go
@ -112,6 +112,12 @@ func DefaultAppComplete(c *Context) {
|
||||
|
||||
// Prints help for the given command
|
||||
func ShowCommandHelp(c *Context, command string) {
|
||||
// show the subcommand help for a command with subcommands
|
||||
if command == "" {
|
||||
HelpPrinter(SubcommandHelpTemplate, c.App)
|
||||
return
|
||||
}
|
||||
|
||||
for _, c := range c.App.Commands {
|
||||
if c.HasName(command) {
|
||||
HelpPrinter(CommandHelpTemplate, c)
|
||||
|
Loading…
Reference in New Issue
Block a user