printer

package
v1.5.0-dev2 Latest Latest
Warning

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

Go to latest
Published: Sep 2, 2024 License: Apache-2.0 Imports: 32 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TickerUpdateFrequency        = 50 * time.Millisecond
	SpinnerFormatDurationDefault = 30 * time.Millisecond
	TextLineupSpacing            = 10
)
View Source
const (
	SpacerText  = "  ... "
	ReverseText = " ...  "
)
View Source
const (
	StatusNone = "       "
	StatusDone = "done ✅"
	StatusWait = "wait ⏳"
	StatusErr  = "err  ❌"
)
View Source
const (
	WidthDots   = 16
	WidthStatus = 6
	// Don't left pad the timer column because we want it to be left aligned.
	WidthTimer = 0
)
View Source
const PrintoutCanceledButRunningNormally string = "printout canceled but running normally"

Variables

View Source
var SpinnerEmoji = [...]string{"🐟", "🐠", "🐡"}

Functions

func PrintError added in v1.5.0

func PrintError(cmd *cobra.Command, err error)

func PrintEvent added in v1.5.0

func PrintEvent(cmd *cobra.Command, event models.Event)

func SummariseExecutions added in v1.5.0

func SummariseExecutions(executions []*models.Execution) map[string][]string

Groups the executions in the job state, returning a map of printable messages to node(s) that generated that message.

func SummariseHistoryEvents added in v1.5.0

func SummariseHistoryEvents(history []*models.JobHistory) []models.Event

Types

type JobProgressPrinter added in v1.5.0

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

func NewJobProgressPrinter added in v1.5.0

func NewJobProgressPrinter(client clientv2.API, runtimeSettings *cliflags.RunTimeSettings) *JobProgressPrinter

func (*JobProgressPrinter) PrintJobProgress added in v1.5.0

func (j *JobProgressPrinter) PrintJobProgress(ctx context.Context, jobID string, cmd *cobra.Command) error

PrintJobProgress displays the job progress depending upon on cli runtime settings

type LineMessage

type LineMessage struct {
	Message      string
	Detail       string
	TimerString  string
	Waiting      bool
	Failure      bool
	ColumnWidths []uint8
}

func NewLineMessage

func NewLineMessage(msg string, maxWidth int) LineMessage

func (*LineMessage) BlankSpinner

func (f *LineMessage) BlankSpinner(col int) string

func (*LineMessage) PrintOnCancel

func (f *LineMessage) PrintOnCancel() string

func (*LineMessage) PrintOnDone

func (f *LineMessage) PrintOnDone() string

func (*LineMessage) PrintOnFail

func (f *LineMessage) PrintOnFail() string

func (*LineMessage) SpinnerMessage

func (f *LineMessage) SpinnerMessage() string

func (*LineMessage) SpinnerPrefix

func (f *LineMessage) SpinnerPrefix() string

type SpinActionType

type SpinActionType int
const (
	SpinActionStart SpinActionType = iota
	SpinActionStop
)

type Spinner

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

func NewSpinner

func NewSpinner(ctx context.Context, w io.Writer, maxWidth int, handleSigint bool) (*Spinner, error)

NewSpinner creates a new `Spinner` using the provided io.Writer and expecting a message of no more than `maxWidth` characters. The `maxWidth` is required to ensure that following steps in the lifetime of the spinner line up.

func (*Spinner) Done

func (s *Spinner) Done(reason SpinnerStopReason)

Done stops the spinner, ignoring any errors as there is no further use for the spinner.

func (*Spinner) NextStep

func (s *Spinner) NextStep(line string)

NextStep completes the current line (if any) and progresses to the next line, starting a new timer.

func (*Spinner) Run

func (s *Spinner) Run()

Run starts the spinner running and accepting messages from other functions belonging to the spinner using the `actionChannel` to trigger various states for the spinner.

type SpinnerStopReason

type SpinnerStopReason int
const (
	StopSuccess SpinnerStopReason = iota
	StopFailed
	StopCancel
)

Jump to

Keyboard shortcuts

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