Documentation
¶
Overview ¶
Package format contains utilities for formatting and printing output, including support for spinners, colored YAML/JSON, and resource stripping.
Index ¶
- Constants
- func Command() command
- func ExitIfErrorf(w io.Writer, err error, args ...any) error
- func Failuref(icon, format string, a ...any) string
- func InterpolateFlagPlaceholders(vars kong.Vars) func(*kong.Kong) error
- func IsInteractiveEnvironment(out io.Writer) bool
- func MissingChildren(node *kong.Node) bool
- func PrettyPrintObject(obj any, opts PrintOpts) error
- func PrettyPrintObjects[T any](objs []T, opts PrintOpts) error
- func Progress(icon, message string) string
- func Progressf(icon, format string, a ...any) string
- type JSONOutputOptions
- type OutputFormatType
- type PrintOpts
- type Reader
- type Writer
- func (w *Writer) BeforeApply(writer io.Writer) error
- func (w *Writer) Confirm(reader Reader, message string) (bool, error)
- func (w *Writer) Failuref(icon string, format string, a ...any)
- func (w *Writer) Info(icon string, message string)
- func (w *Writer) Infof(icon string, format string, a ...any)
- func (w *Writer) Printf(format string, a ...any)
- func (w *Writer) Println(a ...any)
- func (w *Writer) Spinner(message, stopMessage string) (*yacspin.Spinner, error)
- func (w *Writer) Success(icon string, message string)
- func (w *Writer) Successf(icon string, format string, a ...any)
- func (w *Writer) Warningf(format string, a ...any)
- func (w Writer) Write(p []byte) (int, error)
Constants ¶
const ( LoginCommand = "login" LogoutCommand = "logout" )
const ( SuccessChar = "✓" FailureChar = "✗" InfoChar = "ℹ" OutputFormatTypeYAML OutputFormatType = 0 OutputFormatTypeJSON OutputFormatType = 1 )
Variables ¶
This section is empty.
Functions ¶
func Command ¶ added in v1.1.1
func Command() command
Command can be used to print how certain nctl commands can be executed.
func ExitIfErrorf ¶ added in v1.2.0
ExitIfErrorf prints Usage + friendly message on error (and exits).
func InterpolateFlagPlaceholders ¶ added in v1.2.0
InterpolateFlagPlaceholders will return a function which walks the whole kong model and interpolates variables in placeholders in flags.
func IsInteractiveEnvironment ¶ added in v1.8.2
func MissingChildren ¶ added in v1.2.0
MissingChildren detects missing commands/args. Logic taken from github.com/alecthomas/kong/context.go
func PrettyPrintObject ¶ added in v1.2.2
PrettyPrintObject prints the supplied object in "pretty" colored yaml with some metadata, status and other default fields stripped out.
func PrettyPrintObjects ¶
PrettyPrintObjects prints the supplied objects in "pretty" colored yaml with some metadata, status and other default fields stripped out. If multiple objects are supplied, they will be divided with a yaml divider.
Types ¶
type JSONOutputOptions ¶ added in v1.9.0
type JSONOutputOptions struct {
// PrintSingleItem will print a single item of an array as is
// (without the array notation)
PrintSingleItem bool
}
type OutputFormatType ¶ added in v1.9.0
type OutputFormatType int
type PrintOpts ¶
type PrintOpts struct {
// Out will be used to print to if set instead of stdout.
Out io.Writer
// ExcludeAdditional allows to exclude more fields of the object
ExcludeAdditional [][]string
// format type of the output, e.g. yaml or json
Format OutputFormatType
// JSONOpts defines special options for JSON output
JSONOpts JSONOutputOptions
// AllFields prints all fields of the object.
AllFields bool
}
PrintOpts customizes the printing.
type Reader ¶ added in v1.14.0
Reader is a wrapper around an io.Reader.
func (*Reader) BeforeApply ¶ added in v1.14.0
BeforeApply ensures that Kong initializes the Reader. It is subject to the same export requirement as Writer.BeforeApply.
func (Reader) Read ¶ added in v1.19.0
Read implements io.Reader. It shadows the promoted method of the embedded io.Reader so that reading from an uninitialized Reader returns io.EOF instead of panicking. The receiver is a value so that Reader keeps implementing io.Reader when passed around by value.
type Writer ¶ added in v1.14.0
Writer is a wrapper around an io.Writer that provides helper methods for printing formatted messages.
func (*Writer) BeforeApply ¶ added in v1.14.0
BeforeApply ensures that Kong initializes the writer.
Kong discovers hook methods by descending into the embedded fields of the selected command, and it only descends into fields that are exported. A Writer embedded in an unexported base command struct is therefore never initialized, and every message printed through it is silently discarded. Command structs that embed a Writer, and every struct that embeds those in turn, must consequently be exported.
func (*Writer) Confirm ¶ added in v1.14.0
Confirm prints a confirm dialog using the supplied message and then waits until prompt is confirmed or denied. Only y and yes are accepted for confirmation.
func (*Writer) Failuref ¶ added in v1.14.0
Failuref is a formatted message for indicating a failure.
func (*Writer) Printf ¶ added in v1.14.0
Printf formats according to a format specifier and writes to the underlying writer. Prefer the dedicated methods if applicable.
func (*Writer) Println ¶ added in v1.14.0
Println prints a formatted message to the underlying writer. Prefer the dedicated methods if applicable.
func (*Writer) Spinner ¶ added in v1.14.0
Spinner creates a new spinner with the given message and stop message.
func (*Writer) Success ¶ added in v1.14.0
Success returns a message for indicating a successful step.
func (*Writer) Successf ¶ added in v1.14.0
Successf is a formatted message for indicating a successful step.
func (*Writer) Warningf ¶ added in v1.14.0
Warningf is a formatted message for indicating a warning.
func (Writer) Write ¶ added in v1.19.0
Write implements io.Writer. It shadows the promoted method of the embedded io.Writer so that writing to an uninitialized Writer discards the output instead of panicking. The receiver is a value so that Writer keeps implementing io.Writer when passed around by value.