MCPcopy Create free account
hub / github.com/algolia/cli / rootHelpFunc

Function rootHelpFunc

pkg/cmd/root/help.go:66–144  ·  view source on GitHub ↗
(f *cmdutil.Factory, command *cobra.Command, args []string)

Source from the content-addressed store, hash-verified

64}
65
66func rootHelpFunc(f *cmdutil.Factory, command *cobra.Command, args []string) {
67 cs := f.IOStreams.ColorScheme()
68
69 if isRootCmd(command.Parent()) && len(args) >= 2 && args[1] != "--help" && args[1] != "-h" {
70 nestedSuggestFunc(f.IOStreams, command, args[1])
71 hasFailed = true
72 return
73 }
74
75 longText := command.Long
76 if longText == "" {
77 longText = command.Short
78 }
79
80 helpEntries := cmdutil.UsageEntries{}
81 if longText != "" {
82 helpEntries.AddEntry(cmdutil.UsageEntry{Title: "", Body: longText})
83 }
84
85 helpEntries.AddBasicUsage(f.IOStreams, command)
86
87 categoryFlagSet := cmdutil.NewCategoryFlagSet(command.LocalFlags())
88 if len(categoryFlagSet.Categories) > 0 {
89 for _, categoryName := range categoryFlagSet.SortedCategoryNames() {
90 groupName := fmt.Sprintf("%s Flags", categoryName)
91 helpEntries.AddEntry(
92 cmdutil.UsageEntry{
93 Title: groupName,
94 Body: cmdutil.Dedent(categoryFlagSet.Categories[categoryName].FlagUsages()),
95 },
96 )
97 }
98 if categoryFlagSet.Others.FlagUsages() != "" {
99 helpEntries.AddEntry(
100 cmdutil.UsageEntry{
101 Title: cs.Bold("Other Flags"),
102 Body: cmdutil.Dedent(categoryFlagSet.Others.FlagUsages()),
103 },
104 )
105 }
106 } else {
107 helpEntries.AddFlags(f.IOStreams, command, cmdutil.Dedent(categoryFlagSet.Others.FlagUsages()))
108 }
109
110 printFlagUsages := categoryFlagSet.Print.FlagUsages()
111 if printFlagUsages != "" {
112 helpEntries.AddEntry(
113 cmdutil.UsageEntry{
114 Title: cs.Bold("Output Formatting Flags"),
115 Body: cmdutil.Dedent(printFlagUsages),
116 },
117 )
118 }
119 inheritedFlagUsages := command.InheritedFlags().FlagUsages()
120 if inheritedFlagUsages != "" {
121 helpEntries.AddEntry(
122 cmdutil.UsageEntry{
123 Title: cs.Bold("Inherited Flags"),

Callers 1

NewRootCmdFunction · 0.85

Calls 11

AddEntryMethod · 0.95
AddBasicUsageMethod · 0.95
SortedCategoryNamesMethod · 0.95
AddFlagsMethod · 0.95
DisplayEntriesMethod · 0.95
NewCategoryFlagSetFunction · 0.92
DedentFunction · 0.92
isRootCmdFunction · 0.85
nestedSuggestFuncFunction · 0.85
ColorSchemeMethod · 0.80
BoldMethod · 0.80

Tested by

no test coverage detected