feat: scope help printer to root command run

This commit is contained in:
2026-01-14 13:00:03 +01:00
parent 6eb04aa3c5
commit fe396b7537

View File

@@ -69,6 +69,7 @@ func printRunUsage() {
func buildRootCommand(cfg *config.Config) *cli.Command { func buildRootCommand(cfg *config.Config) *cli.Command {
helpPrinterOnce.Do(func() { helpPrinterOnce.Do(func() {
defaultHelpPrinter = cli.HelpPrinter defaultHelpPrinter = cli.HelpPrinter
})
cli.HelpPrinter = func(w io.Writer, templ string, data interface{}) { cli.HelpPrinter = func(w io.Writer, templ string, data interface{}) {
if cmd, ok := data.(*cli.Command); ok && cmd.Root() == cmd { if cmd, ok := data.(*cli.Command); ok && cmd.Root() == cmd {
printRootUsage() printRootUsage()
@@ -76,7 +77,6 @@ func buildRootCommand(cfg *config.Config) *cli.Command {
} }
defaultHelpPrinter(w, templ, data) defaultHelpPrinter(w, templ, data)
} }
})
root := &cli.Command{ root := &cli.Command{
Name: "goyco", Name: "goyco",
@@ -94,6 +94,10 @@ func buildRootCommand(cfg *config.Config) *cli.Command {
commands.SetJSONOutput(cmd.Bool("json")) commands.SetJSONOutput(cmd.Bool("json"))
return ctx, nil return ctx, nil
}, },
After: func(ctx context.Context, cmd *cli.Command) error {
cli.HelpPrinter = defaultHelpPrinter
return nil
},
Action: func(_ context.Context, cmd *cli.Command) error { Action: func(_ context.Context, cmd *cli.Command) error {
if cmd.NArg() == 0 { if cmd.NArg() == 0 {
printRootUsage() printRootUsage()