diff --git a/app.go b/app.go index 7da79d8..26dfd7d 100644 --- a/app.go +++ b/app.go @@ -89,7 +89,9 @@ func (a *App) Run(arguments []string) (err error) { newCmds := []Command{} for _, c := range a.Commands { - c.HelpName = fmt.Sprintf("%s %s", a.HelpName, c.Name) + if c.HelpName == "" { + c.HelpName = fmt.Sprintf("%s %s", a.HelpName, c.Name) + } newCmds = append(newCmds, c) } a.Commands = newCmds @@ -199,7 +201,9 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { newCmds := []Command{} for _, c := range a.Commands { - c.HelpName = fmt.Sprintf("%s %s", a.HelpName, c.Name) + if c.HelpName == "" { + c.HelpName = fmt.Sprintf("%s %s", a.HelpName, c.Name) + } newCmds = append(newCmds, c) } a.Commands = newCmds diff --git a/command.go b/command.go index 2851291..9491c30 100644 --- a/command.go +++ b/command.go @@ -157,7 +157,12 @@ func (c Command) startApp(ctx *Context) error { // set the name and usage app.Name = fmt.Sprintf("%s %s", ctx.App.Name, c.Name) - app.HelpName = fmt.Sprintf("%s %s", ctx.App.Name, c.Name) + if c.HelpName == "" { + app.HelpName = c.HelpName + } else { + app.HelpName = fmt.Sprintf("%s %s", ctx.App.Name, c.Name) + } + if c.Description != "" { app.Usage = c.Description } else {