Back to

Package termio

Latest Go to latest
Published: Jul 26, 2019 | License: MIT | Module:


Package Files


var (
	// Stdout is exported for tests
	Stdout io.Writer = os.Stdout
	// Stdin is exported for tests
	Stdin io.Reader = os.Stdin
	// ErrAborted is returned if the user aborts an action
	ErrAborted = fmt.Errorf("user aborted")

func AskForBool

func AskForBool(ctx context.Context, text string, def bool) (bool, error)

AskForBool ask for a bool (yes or no) exactly once. The empty answer uses the specified default, any other answer is an error.

func AskForConfirmation

func AskForConfirmation(ctx context.Context, text string) bool

AskForConfirmation asks a yes/no question until the user replies yes or no

func AskForInt

func AskForInt(ctx context.Context, text string, def int) (int, error)

AskForInt asks for an valid interger once. If the input can not be converted to an int it returns an error

func AskForKeyImport

func AskForKeyImport(ctx context.Context, key string, names []string) bool

AskForKeyImport asks for permissions to import the named key

func AskForPassword

func AskForPassword(ctx context.Context, name string) (string, error)

AskForPassword prompts for a password twice until both match

func AskForString

func AskForString(ctx context.Context, text, def string) (string, error)

AskForString asks for a string once, using the default if the anser is empty. Errors are only returned on I/O errors

func HasPassPromptFunc

func HasPassPromptFunc(ctx context.Context) bool

HasPassPromptFunc returns true if a value for the pass prompt func has been set in this context

func WithPassPromptFunc

func WithPassPromptFunc(ctx context.Context, ppf PassPromptFunc) context.Context

WithPassPromptFunc returns a context with the password prompt function set

type LineReader

type LineReader struct {
	// contains filtered or unexported fields

LineReader is an unbuffered line reader

func NewReader

func NewReader(r io.Reader) *LineReader

NewReader creates a new line reader

func (LineReader) Read

func (lr LineReader) Read(p []byte) (int, error)

Read implements io.Reader

func (LineReader) ReadLine

func (lr LineReader) ReadLine() (string, error)

ReadLine reads one line w/o buffering

type PassPromptFunc

type PassPromptFunc func(context.Context, string) (string, error)

PassPromptFunc is a password prompt function

func GetPassPromptFunc

func GetPassPromptFunc(ctx context.Context) PassPromptFunc

GetPassPromptFunc will return the password prompt func or a default one Note: will never return nil

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier