MCPcopy
hub / github.com/SpecterOps/BloodHound / usageGenerator

Function usageGenerator

packages/go/stbernard/command/command.go:160–185  ·  view source on GitHub ↗
(flagset *flag.FlagSet, commands []command)

Source from the content-addressed store, hash-verified

158}
159
160func usageGenerator(flagset *flag.FlagSet, commands []command) usageFunc {
161 return func() {
162 var longestCmdLen int
163
164 for _, cmd := range commands {
165 if len(cmd.Name()) > longestCmdLen {
166 longestCmdLen = len(cmd.Name())
167 }
168 }
169
170 w := flag.CommandLine.Output()
171 fmt.Fprint(w, "A BloodHound Swiss Army Knife\n\nUsage: stbernard [OPTIONS] COMMAND\n\nOptions:\n")
172
173 flagset.VisitAll(func(f *flag.Flag) {
174 padding := strings.Repeat(" ", longestCmdLen-len(f.Name)-1)
175 fmt.Fprintf(w, " -%s%s %v\n", f.Name, padding, f.Usage)
176 })
177
178 fmt.Fprintf(w, "\nCommands:\n")
179
180 for _, cmd := range commands {
181 padding := strings.Repeat(" ", longestCmdLen-len(cmd.Name()))
182 fmt.Fprintf(w, " %s%s %s\n", cmd.Name(), padding, cmd.Usage())
183 }
184 }
185}

Callers 1

ParseCLIFunction · 0.85

Calls 2

NameMethod · 0.65
UsageMethod · 0.65

Tested by

no test coverage detected