MCPcopy Create free account
hub / github.com/basecamp/hey-cli / renderRootHelp

Function renderRootHelp

internal/cmd/help.go:54–140  ·  view source on GitHub ↗
(w io.Writer, cmd *cobra.Command)

Source from the content-addressed store, hash-verified

52}
53
54func renderRootHelp(w io.Writer, cmd *cobra.Command) {
55 var b strings.Builder
56
57 b.WriteString("CLI for HEY\n")
58
59 // USAGE
60 b.WriteString("\n")
61 b.WriteString(bold.format("USAGE") + "\n")
62 b.WriteString(" hey <command> [flags]\n")
63 b.WriteString(" hey Launch the interactive TUI\n")
64
65 // Build lookup from command name → registered cobra.Command
66 registered := make(map[string]*cobra.Command, len(cmd.Commands()))
67 for _, sub := range cmd.Commands() {
68 registered[sub.Name()] = sub
69 }
70
71 // Render curated categories
72 for _, cat := range curatedCategories {
73 var entries []helpEntry
74 maxName := 0
75 for _, name := range cat.names {
76 sub := registered[name]
77 if sub == nil {
78 continue
79 }
80 entries = append(entries, helpEntry{name: name, desc: sub.Short})
81 if len(name) > maxName {
82 maxName = len(name)
83 }
84 }
85 if len(entries) == 0 {
86 continue
87 }
88
89 b.WriteString("\n")
90 b.WriteString(bold.format(cat.heading) + "\n")
91 for _, e := range entries {
92 fmt.Fprintf(&b, " %-*s %s\n", maxName, e.name, e.desc)
93 }
94 }
95
96 // FLAGS — curated subset of global flags
97 b.WriteString("\n")
98 b.WriteString(bold.format("FLAGS") + "\n")
99 type flagEntry struct {
100 short string
101 long string
102 desc string
103 }
104 flags := []flagEntry{
105 {"", "--json", "Output as JSON envelope"},
106 {"", "--markdown", "Output as Markdown"},
107 {"", "--quiet", "Output raw data without envelope"},
108 {"-v", "--verbose", "Increase verbosity"},
109 {"", "--help", "Show help for command"},
110 {"", "--version", "Show version"},
111 }

Callers 1

customHelpFuncFunction · 0.85

Calls 2

formatMethod · 0.80
StringMethod · 0.80

Tested by

no test coverage detected