MCPcopy Create free account
hub / github.com/cogentcore/core / flagUsage

Function flagUsage

cli/usage.go:183–205  ·  view source on GitHub ↗

flagUsage adds the flag usage info for the given fields to the given [strings.Builder].

(fields *fields, b *strings.Builder)

Source from the content-addressed store, hash-verified

181// flagUsage adds the flag usage info for the given fields
182// to the given [strings.Builder].
183func flagUsage(fields *fields, b *strings.Builder) {
184 for _, kv := range fields.Order {
185 f := kv.Value
186 b.WriteString(indent)
187 for i, name := range f.Names {
188 b.WriteString(logx.CmdColor("-" + strcase.ToKebab(name)))
189 if i != len(f.Names)-1 {
190 b.WriteString(", ")
191 }
192 }
193 b.WriteString(" " + logx.SuccessColor(f.Field.Type.String()))
194 b.WriteString("\n")
195 field := types.GetField(f.Struct, f.Field.Name)
196 if field != nil {
197 b.WriteString(indent + indent + strings.ReplaceAll(field.Doc, "\n", "\n"+indent+indent)) // need to put two indents on every newline for formatting
198 }
199 def, ok := f.Field.Tag.Lookup("default")
200 if ok && def != "" {
201 b.WriteString(fmt.Sprintf(" (default: %s)", def))
202 }
203 b.WriteString("\n")
204 }
205}

Callers 1

usageFunction · 0.85

Calls 7

CmdColorFunction · 0.92
ToKebabFunction · 0.92
SuccessColorFunction · 0.92
GetFieldFunction · 0.92
WriteStringMethod · 0.80
StringMethod · 0.65
LookupMethod · 0.65

Tested by

no test coverage detected