Handle errors in built-in help command

This commit is contained in:
Mislav Marohnić 2022-05-23 19:31:58 +02:00
parent ed27f317d7
commit 89ff61a542

View file

@ -1115,15 +1115,16 @@ Simply type ` + c.Name() + ` help [path to command] for full details.`,
} }
return completions, ShellCompDirectiveNoFileComp return completions, ShellCompDirectiveNoFileComp
}, },
Run: func(c *Command, args []string) { RunE: func(c *Command, args []string) error {
cmd, _, e := c.Root().Find(args) cmd, _, e := c.Root().Find(args)
if cmd == nil || e != nil { if e != nil {
return e
} else if cmd == nil {
c.PrintErrf("Unknown help topic %#q\n", args) c.PrintErrf("Unknown help topic %#q\n", args)
CheckErr(c.Root().Usage()) return c.Root().Usage()
} else {
cmd.InitDefaultHelpFlag() // make possible 'help' flag to be shown
CheckErr(cmd.Help())
} }
cmd.InitDefaultHelpFlag() // make possible 'help' flag to be shown
return cmd.Help()
}, },
} }
} }