terminal

package
v1.5.6 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2024 License: Apache-2.0 Imports: 16 Imported by: 21

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	SpinnerStatusOK     = SpinnerStatus(fmt.Sprintf("[%s]\n", color.GreenString("OK")))
	SpinnerStatusWarnOK = SpinnerStatus(fmt.Sprintf("[%s]\n", color.CyanString("OK")))
	SpinnerStatusWarn   = SpinnerStatus(fmt.Sprintf("[%s]\n", color.CyanString("WARN")))
	SpinnerStatusFail   = SpinnerStatus(fmt.Sprintf("[%s]\n", color.RedString("FAIL")))
)

SpinnerStatus strings

Functions

func Context

func Context(ctx context.Context, term Terminal) context.Context

Context sets the terminal in the context

func ShowBanner

func ShowBanner(ctx context.Context)

ShowBanner displays welcome banner

Types

type DefaultSpinner

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

DefaultSpinner defines a simple status spinner

func StandardSpinner

func StandardSpinner() *DefaultSpinner

StandardSpinner returns a default spinner for Akamai CLI

func (*DefaultSpinner) Fail

func (s *DefaultSpinner) Fail()

Fail stops the spinner with fail status

func (*DefaultSpinner) OK

func (s *DefaultSpinner) OK()

OK stops the spinner with ok status

func (*DefaultSpinner) Start

func (s *DefaultSpinner) Start(f string, args ...interface{})

Start starts the spinner using the provided string as the prefix

func (*DefaultSpinner) Stop

func (s *DefaultSpinner) Stop(status SpinnerStatus)

Stop stops the spinner and updates the final status message

func (*DefaultSpinner) Warn

func (s *DefaultSpinner) Warn()

Warn stops the spinner with Warn status

func (*DefaultSpinner) WarnOK

func (s *DefaultSpinner) WarnOK()

WarnOK stops the spinner with WarnOK status

func (*DefaultSpinner) Write

func (s *DefaultSpinner) Write(v []byte) (n int, err error)

Write implements the io.Writer interface and updates the suffix of the spinner

type DefaultTerminal

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

DefaultTerminal implementation of Terminal interface

func Color

func Color() *DefaultTerminal

Color returns a colorable terminal

func New

func New(out Writer, in Reader, err io.Writer) *DefaultTerminal

New returns a new terminal with the specified streams

func (*DefaultTerminal) Confirm

func (t *DefaultTerminal) Confirm(p string, def bool) (bool, error)

Confirm asks the user for a Y/n response, with a default

func (*DefaultTerminal) Error

func (t *DefaultTerminal) Error() io.Writer

Error return the error writer

func (*DefaultTerminal) IsTTY

func (t *DefaultTerminal) IsTTY() bool

IsTTY returns true if the terminal is a valid tty

func (*DefaultTerminal) Printf

func (t *DefaultTerminal) Printf(f string, args ...interface{})

Printf writes a formatted message to the output stream

func (*DefaultTerminal) Prompt

func (t *DefaultTerminal) Prompt(p string, options ...string) (string, error)

Prompt prompts the use for an open or multiple choice anwswer

func (*DefaultTerminal) Spinner

func (t *DefaultTerminal) Spinner() Spinner

Spinner returns the terminal spinner

func (*DefaultTerminal) Write

func (t *DefaultTerminal) Write(v []byte) (n int, err error)

func (*DefaultTerminal) WriteError

func (t *DefaultTerminal) WriteError(v interface{})

WriteError write a message to the error stream

func (*DefaultTerminal) WriteErrorf

func (t *DefaultTerminal) WriteErrorf(f string, args ...interface{})

WriteErrorf writes a formatted message to the error stream

func (*DefaultTerminal) Writeln

func (t *DefaultTerminal) Writeln(args ...interface{}) (int, error)

Writeln writes a line to the terminal

type Mock

type Mock struct {
	mock.Mock
}

Mock terminal

func (*Mock) Confirm

func (m *Mock) Confirm(p string, d bool) (bool, error)

Confirm mock implementation

func (*Mock) Error

func (m *Mock) Error() io.Writer

Error mock implementation

func (*Mock) Fail

func (m *Mock) Fail()

Fail mock

func (*Mock) IsTTY

func (m *Mock) IsTTY() bool

IsTTY mock implementation

func (*Mock) OK

func (m *Mock) OK()

OK mock

func (*Mock) Printf

func (m *Mock) Printf(f string, args ...interface{})

Printf mock implementation

func (*Mock) Prompt

func (m *Mock) Prompt(p string, options ...string) (string, error)

Prompt mock implementation

func (*Mock) Spinner

func (m *Mock) Spinner() Spinner

Spinner mock implementation

func (*Mock) Start

func (m *Mock) Start(f string, args ...interface{})

Start mock

func (*Mock) Stop

func (m *Mock) Stop(status SpinnerStatus)

Stop mock

func (*Mock) Warn

func (m *Mock) Warn()

Warn mock

func (*Mock) WarnOK

func (m *Mock) WarnOK()

WarnOK mock

func (*Mock) Write

func (m *Mock) Write(p []byte) (n int, err error)

Write mock implementation

func (*Mock) WriteError

func (m *Mock) WriteError(i interface{})

WriteError mock implementation

func (*Mock) WriteErrorf

func (m *Mock) WriteErrorf(f string, args ...interface{})

WriteErrorf mock implementation

func (*Mock) Writeln

func (m *Mock) Writeln(args ...interface{}) (int, error)

Writeln mock implementation

type Prompter

type Prompter interface {
	Prompt(p string, options ...string) (string, error)
	Confirm(p string, d bool) (bool, error)
}

Prompter contains methods enabling user input

type Reader

type Reader interface {
	io.Reader
	Fd() uintptr
}

Reader provides a minimal interface for Stdout.

type Spinner

type Spinner interface {
	io.Writer
	Start(f string, args ...interface{})
	Stop(status SpinnerStatus)
	OK()
	WarnOK()
	Warn()
	Fail()
}

Spinner contains methods to operate on spinner

type SpinnerStatus

type SpinnerStatus string

SpinnerStatus defines a spinner status message

type TermWriter

type TermWriter interface {
	io.Writer
	Printf(f string, args ...interface{})
	Writeln(args ...interface{}) (int, error)
	WriteError(interface{})
	WriteErrorf(f string, args ...interface{})
}

TermWriter contains methods for basic terminal write operations

type Terminal

type Terminal interface {
	TermWriter
	Prompter
	Spinner() Spinner
	Error() io.Writer
	IsTTY() bool
}

Terminal defines a terminal abstration interface

func Get

func Get(ctx context.Context) Terminal

Get gets the terminal from the context

type Writer

type Writer interface {
	io.Writer
	Fd() uintptr
}

Writer provides a minimal interface for Stdin.

func DiscardWriter

func DiscardWriter() Writer

DiscardWriter returns a discard write that direct output to /dev/null

Jump to

Keyboard shortcuts

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