MCPcopy Index your code
hub / github.com/kopia/kopia / flattenChildren

Function flattenChildren

tools/cli2md/cli2md.go:224–245  ·  view source on GitHub ↗
(cmd *kingpin.CmdModel, parentFlags []*kingpin.FlagModel, forceHidden bool)

Source from the content-addressed store, hash-verified

222}
223
224func flattenChildren(cmd *kingpin.CmdModel, parentFlags []*kingpin.FlagModel, forceHidden bool) []*kingpin.CmdModel {
225 var result []*kingpin.CmdModel
226
227 cmdFlags := combineFlags(parentFlags, cmd.Flags)
228
229 if len(cmd.Commands) == 0 {
230 cmdClone := *cmd
231 if forceHidden {
232 cmdClone.Hidden = true
233 }
234
235 cmdClone.Flags = cmdFlags
236
237 result = append(result, &cmdClone)
238 } else {
239 for _, c := range cmd.Commands {
240 result = append(result, flattenChildren(c, cmdFlags, c.Hidden || forceHidden)...)
241 }
242 }
243
244 return result
245}
246
247func generateSubcommands(w io.Writer, dir, sectionTitle string, cmds []*kingpin.CmdModel, advanced bool) {
248 cmds = append([]*kingpin.CmdModel(nil), cmds...)

Callers 1

flattenCommandsFunction · 0.85

Calls 1

combineFlagsFunction · 0.85

Tested by

no test coverage detected