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

Function flattenCommands

tools/cli2md/cli2md.go:194–222  ·  view source on GitHub ↗
(cmds []*kingpin.CmdModel)

Source from the content-addressed store, hash-verified

192}
193
194func flattenCommands(cmds []*kingpin.CmdModel) []*kingpin.CmdModel {
195 var result []*kingpin.CmdModel
196
197 commonRoot := &kingpin.CmdModel{
198 Name: "Common Commands",
199 Help: "Common Commands",
200 CmdGroupModel: &kingpin.CmdGroupModel{},
201 }
202 result = append(result, commonRoot)
203
204 for _, c := range cmds {
205 if len(c.Commands) == 0 {
206 commonRoot.Commands = append(commonRoot.Commands, c)
207 continue
208 }
209
210 root := &kingpin.CmdModel{
211 Name: c.Name,
212 FullCommand: c.FullCommand,
213 Help: c.Help,
214 Hidden: c.Hidden,
215 CmdGroupModel: &kingpin.CmdGroupModel{},
216 }
217 result = append(result, root)
218 root.Commands = flattenChildren(c, nil, c.Hidden)
219 }
220
221 return result
222}
223
224func flattenChildren(cmd *kingpin.CmdModel, parentFlags []*kingpin.FlagModel, forceHidden bool) []*kingpin.CmdModel {
225 var result []*kingpin.CmdModel

Callers 1

generateCommandsFunction · 0.85

Calls 1

flattenChildrenFunction · 0.85

Tested by

no test coverage detected