MCPcopy
hub / github.com/kopia/kopia / generateSubcommandPage

Function generateSubcommandPage

tools/cli2md/cli2md.go:271–319  ·  view source on GitHub ↗
(fname string, cmd *kingpin.CmdModel)

Source from the content-addressed store, hash-verified

269}
270
271func generateSubcommandPage(fname string, cmd *kingpin.CmdModel) {
272 f, err := os.Create(fname) //nolint:gosec
273 if err != nil {
274 log.Fatalf("unable to create page: %v", err)
275 }
276 defer f.Close() //nolint:errcheck
277
278 title := cmd.FullCommand
279
280 //nolint:errcheck
281 fmt.Fprintf(f, `---
282title: %q
283linkTitle: %q
284weight: 10
285toc_hide: true
286hide_summary: true
287---
288
289`, title, title)
290
291 var (
292 argSummary strings.Builder
293 flagSummary strings.Builder
294 )
295
296 for _, a := range cmd.Args {
297 if a.Required {
298 argSummary.WriteString(" <")
299 argSummary.WriteString(a.Name)
300 argSummary.WriteRune('>')
301 } else {
302 argSummary.WriteString(" [")
303 argSummary.WriteString(a.Name)
304 argSummary.WriteRune(']')
305 }
306 }
307
308 for _, fl := range cmd.Flags {
309 if fl.Required {
310 flagSummary.WriteString(" \\\n --" + fl.Name + "=...")
311 }
312 }
313
314 fmt.Fprintf(f, "```shell\n$ kopia %v%v%v\n```\n\n", cmd.FullCommand, flagSummary.String(), argSummary.String()) //nolint:errcheck
315 fmt.Fprintf(f, "%v\n\n", escapeFlags(cmd.Help)) //nolint:errcheck
316
317 emitFlags(f, cmd.Flags)
318 emitArgs(f, cmd.Args)
319}
320
321func main() {
322 flag.Parse()

Callers 1

generateSubcommandsFunction · 0.85

Calls 6

escapeFlagsFunction · 0.85
emitFlagsFunction · 0.85
emitArgsFunction · 0.85
FatalfMethod · 0.80
CloseMethod · 0.65
StringMethod · 0.45

Tested by

no test coverage detected