MCPcopy
hub / github.com/spf13/cobra / writeFlagHandler

Function writeFlagHandler

bash_completions.go:459–493  ·  view source on GitHub ↗
(buf io.StringWriter, name string, annotations map[string][]string, cmd *Command)

Source from the content-addressed store, hash-verified

457}
458
459func writeFlagHandler(buf io.StringWriter, name string, annotations map[string][]string, cmd *Command) {
460 for key, value := range annotations {
461 switch key {
462 case BashCompFilenameExt:
463 WriteStringAndCheck(buf, fmt.Sprintf(" flags_with_completion+=(%q)\n", name))
464
465 var ext string
466 if len(value) > 0 {
467 ext = fmt.Sprintf("__%s_handle_filename_extension_flag ", cmd.Root().Name()) + strings.Join(value, "|")
468 } else {
469 ext = "_filedir"
470 }
471 WriteStringAndCheck(buf, fmt.Sprintf(" flags_completion+=(%q)\n", ext))
472 case BashCompCustom:
473 WriteStringAndCheck(buf, fmt.Sprintf(" flags_with_completion+=(%q)\n", name))
474
475 if len(value) > 0 {
476 handlers := strings.Join(value, "; ")
477 WriteStringAndCheck(buf, fmt.Sprintf(" flags_completion+=(%q)\n", handlers))
478 } else {
479 WriteStringAndCheck(buf, " flags_completion+=(:)\n")
480 }
481 case BashCompSubdirsInDir:
482 WriteStringAndCheck(buf, fmt.Sprintf(" flags_with_completion+=(%q)\n", name))
483
484 var ext string
485 if len(value) == 1 {
486 ext = fmt.Sprintf("__%s_handle_subdirs_in_dir_flag ", cmd.Root().Name()) + value[0]
487 } else {
488 ext = "_filedir -d"
489 }
490 WriteStringAndCheck(buf, fmt.Sprintf(" flags_completion+=(%q)\n", ext))
491 }
492 }
493}
494
495const cbn = "\")\n"
496

Callers 2

writeShortFlagFunction · 0.85
writeFlagFunction · 0.85

Calls 3

WriteStringAndCheckFunction · 0.85
NameMethod · 0.80
RootMethod · 0.80

Tested by

no test coverage detected