clui

package
v0.3.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2026 License: Apache-2.0 Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type DotProgress

type DotProgress struct {
	Delay time.Duration // Delay is the speed of the indicator
	// contains filtered or unexported fields
}

DotProgress implements a progress indicator by printing a series of dots as time goes by.

func NewDotProgress

func NewDotProgress(ui *UI, message string) *DotProgress

NewDotProgress creates a new DotProgress.

func (*DotProgress) ChangeMessage

func (p *DotProgress) ChangeMessage(message string)

ChangeMessage extends the dot-based progress with the ability to change the message mid-flight.

func (*DotProgress) ChangeMessagef

func (p *DotProgress) ChangeMessagef(message string, a ...any)

ChangeMessagef extends the dot-based progress with the ability to change the message mid-flight.

func (*DotProgress) Start

func (p *DotProgress) Start()

Start start.

func (*DotProgress) Stop

func (p *DotProgress) Stop()

Stop stops displaying the dot progress spinner.

type Message

type Message struct {
	// contains filtered or unexported fields
}

Message represents a piece of information we want displayed to the user.

func (*Message) Compact

func (u *Message) Compact() *Message

Compact disables the printing of a newline before starting output.

func (*Message) Do

func (u *Message) Do()

Do is syntactic sugar for Msg("").

func (*Message) Msg

func (u *Message) Msg(message string)

Msg prints a message on the CLI, resolving emoji as it goes.

func (*Message) Msgf

func (u *Message) Msgf(message string, a ...any)

Msgf prints a formatted message on the CLI.

func (*Message) NoNewline

func (u *Message) NoNewline() *Message

NoNewline disables the printing of a newline after a message output.

func (*Message) WithAskBool

func (u *Message) WithAskBool(name string, result *bool) *Message

WithAskBool waits for the user's input for a boolean value.

func (*Message) WithAskBoolMap

func (u *Message) WithAskBoolMap(name string, result *bool, answerMap map[string]bool) *Message

WithAskBoolMap waits for the user's input for a boolean value.

func (*Message) WithAskInt

func (u *Message) WithAskInt(name string, result *int64, allowedValues ...int) *Message

WithAskInt waits for the user's input for an int value.

func (*Message) WithAskPassword

func (u *Message) WithAskPassword(name string, stdin bool, result *string) *Message

WithAskPassword waits for the user's input for a password value.

func (*Message) WithAskString

func (u *Message) WithAskString(name string, result *string) *Message

WithAskString waits for the user's input for a string value.

func (*Message) WithBoolValue

func (u *Message) WithBoolValue(name string, value bool) *Message

WithBoolValue adds a bool value to be printed in the message.

func (*Message) WithEnd

func (u *Message) WithEnd(code int) *Message

WithEnd ends the entire process after printing the message.

func (*Message) WithErr

func (u *Message) WithErr(err error) *Message

WithErr adds an error value to be printed in the message.

func (*Message) WithIntValue

func (u *Message) WithIntValue(name string, value int64) *Message

WithIntValue adds an int value to be printed in the message.

func (*Message) WithStacks

func (u *Message) WithStacks() *Message

WithStacks causes error stacks to be printed.

func (*Message) WithStringValue

func (u *Message) WithStringValue(name string, value string) *Message

WithStringValue adds a string value to be printed in the message.

type Progress

type Progress interface {
	Start()
	Stop()
	ChangeMessage(message string)
	ChangeMessagef(message string, a ...any)
}

Progress abstracts the operations for a progress meter and/or spinner used to indicate the cli waiting for some background operation to complete.

type UI

type UI struct {
	// contains filtered or unexported fields
}

UI contains functionality for dealing with the user. on the CLI.

func NewUI

func NewUI() *UI

NewUI creates a new UI.

func NewUIWithOutput

func NewUIWithOutput(output io.Writer) *UI

NewUIWithOutput creates a new UI with a specific output.

func NewUIWithOutputAndInput

func NewUIWithOutputAndInput(output io.Writer, input io.Reader) *UI

func NewUIWithOutputErrorAndInput

func NewUIWithOutputErrorAndInput(output, err io.Writer, input io.Reader) *UI

NewUIWithOutputErrorAndInput creates a new UI with a specific input, error output and output.

func (*UI) Err

func (u *UI) Err() io.Writer

func (*UI) Exclamation

func (u *UI) Exclamation() *Message

Exclamation returns a UIMessage that prints an exclamation message.

func (*UI) Input

func (u *UI) Input() io.Reader

Input returns the io.Reader used to read user input.

func (*UI) Normal

func (u *UI) Normal() *Message

Normal returns a UIMessage that prints a normal message.

func (*UI) Note

func (u *UI) Note() *Message

Note returns a UIMessage that prints a note message.

func (*UI) Output

func (u *UI) Output() io.Writer

Output returns the io.Write used to print.

func (*UI) Problem

func (u *UI) Problem() *Message

Problem returns a Message that prints a message that describes a problem.

func (*UI) Progress

func (u *UI) Progress(message string) Progress

Progress creates, configures, and returns an active progress meter. It accepts a fixed message.

func (*UI) ProgressNote

func (u *UI) ProgressNote() *Message

ProgressNote returns a UIMessage that prints a progress-related message.

func (*UI) Progressf

func (u *UI) Progressf(message string, a ...any) Progress

Progressf creates, configures, and returns an active progress meter. It accepts a formatted message.

func (*UI) Success

func (u *UI) Success() *Message

Success returns a UIMessage that prints a success message.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL