From aedca401da0a1524d7efff77ab7335fe83ca0a40 Mon Sep 17 00:00:00 2001 From: Alec Thomas Date: Wed, 14 Nov 2018 10:01:45 +1100 Subject: [PATCH] Hide sub-tree when parent is hidden. --- help.go | 8 ++++---- model.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/help.go b/help.go index 52b6580..d640efb 100644 --- a/help.go +++ b/help.go @@ -67,7 +67,7 @@ func printApp(w *helpWriter, app *Application) { if !w.NoAppSummary { w.Printf("Usage: %s%s", app.Name, app.Summary()) } - printNodeDetail(w, app.Node) + printNodeDetail(w, app.Node, true) cmds := app.Leaves(true) if len(cmds) > 0 && app.HelpFlag != nil { w.Print("") @@ -83,14 +83,14 @@ func printCommand(w *helpWriter, app *Application, cmd *Command) { if !w.NoAppSummary { w.Printf("Usage: %s %s", app.Name, cmd.Summary()) } - printNodeDetail(w, cmd) + printNodeDetail(w, cmd, false) if w.Summary && app.HelpFlag != nil { w.Print("") w.Printf(`Run "%s --help" for more information.`, cmd.FullPath()) } } -func printNodeDetail(w *helpWriter, node *Node) { +func printNodeDetail(w *helpWriter, node *Node, hide bool) { if node.Help != "" { w.Print("") w.Wrap(node.Help) @@ -112,7 +112,7 @@ func printNodeDetail(w *helpWriter, node *Node) { w.Print("Flags:") writeFlags(w.Indent(), flags) } - cmds := node.Leaves(true) + cmds := node.Leaves(hide) if len(cmds) > 0 { w.Print("") w.Print("Commands:") diff --git a/model.go b/model.go index 761a022..b5a613d 100644 --- a/model.go +++ b/model.go @@ -113,7 +113,7 @@ func (n *Node) Leaves(hide bool) (out []*Node) { } if node, ok := nd.(*Node); ok { if hide && node.Hidden { - return next(nil) + return nil } if len(node.Children) == 0 && node.Type != ApplicationNode { out = append(out, node)