Documentation
¶
Overview ¶
Package formats defines some example formats for use with the cobrautil and flagutil packages.
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Colorful = cobrautil.UsageFormatOptions{ Format: cobrautil.Formatter{ Header: func(s string) string { return ansiGreen().Bold().Styled(s) }, Command: func(s string) string { return ansiCyan().Bold().Styled(s) }, Args: func(s string) string { return ansiCyan().Styled(s) }, Example: func(s string) string { lines := strings.Split(s, "\n") for i, line := range lines { switch { case strings.HasPrefix(strings.TrimSpace(line), "#"): lines[i] = ansiStyle().Faint().Styled(line) default: lines[i] = line } } return strings.Join(lines, "\n") }, }, FlagOptions: flagutil.UsageFormatOptions{ Columns: flagutil.DynamicColumns(func() int { return termdoc.TerminalWidth(80) }), FormatFlagName: func(flag *pflag.Flag, name string) string { return ansiCyan().Bold().Styled(name) }, FormatType: func(flag *pflag.Flag, typeName string) string { opt := options.FromFlag(flag) if opt.FlagType != "" { typeName = opt.FlagType } switch typeName { case "strings": typeName = "string..." case "ints": typeName = "int..." case "uints": typeName = "uint..." case "bools": typeName = "bool..." } return ansiCyan().Styled(typeName) }, FormatValue: func(flag *pflag.Flag, value string) string { return ansiBold().Styled(value) }, FormatUsage: func(flag *pflag.Flag, usage string) string { envName := flagutil.GetEnvName(flag) if envName != "" { usage += fmt.Sprintf(" (env: %s)", ansiCyan().Bold().Styled(envName)) } return usage }, }, LocalFlags: cobrautil.FlagGroupingOptions{ GroupFlags: true, }, InheritedFlags: cobrautil.FlagGroupingOptions{ GroupFlags: true, }, }
Colorful is a colorful formatting option.
View Source
var Markdown = cobrautil.UsageFormatOptions{ Format: cobrautil.Formatter{ Header: func(s string) string { return "## " + strings.TrimSuffix(s, ":") + "\n" }, Command: func(s string) string { return mdBold(s) }, Args: func(s string) string { return mdBold(s) }, CommandAndArgs: func(s string) string { return mdCode(s) }, Example: func(s string) string { return mdCodeBlock("bash", s) }, }, FlagOptions: flagutil.UsageFormatOptions{ Columns: flagutil.StaticColumns(0), LineFunc: func(flag *pflag.Flag) (line string, skip bool) { if flag.Hidden || flag.Deprecated != "" { return "", true } var ( flagName string flagType string flagUsage string ) if flag.Shorthand != "" && flag.ShorthandDeprecated == "" { flagName = fmt.Sprintf("-%s, --%s", flag.Shorthand, flag.Name) } else { flagName = "--" + flag.Name } flagType, flagUsage = pflag.UnquoteUsage(flag) flagUsage = strings.ReplaceAll(flagUsage, "\n", "\n ") envName := flagutil.GetEnvName(flag) if envName != "" { flagUsage += fmt.Sprintf(" (env: %s)", mdCode(envName)) } if !flagutil.DefaultIsZeroValue(flag) { defValue := flag.DefValue if flag.Value.Type() == "string" { defValue = fmt.Sprintf("%q", defValue) } flagUsage += fmt.Sprintf(" (default %s)", mdBold(defValue)) } flagName = mdCode(flagName) if flagType != "" { flagType = " " + mdItalics(flagType) } line = fmt.Sprintf("- %s%s: %s", flagName, flagType, flagUsage) return line, false }, }, LocalFlags: cobrautil.FlagGroupingOptions{ GroupFlags: true, }, InheritedFlags: cobrautil.FlagGroupingOptions{ GroupFlags: true, }, }
Markdown is a format producing valid markdown.
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.