Documentation ¶
Index ¶
- Variables
- func AskForBool(ctx context.Context, text string, def bool) (bool, error)
- func AskForConfirmation(ctx context.Context, text string) bool
- func AskForInt(ctx context.Context, text string, def int) (int, error)
- func AskForKeyImport(ctx context.Context, key string, names []string) bool
- func AskForPassword(ctx context.Context, name string) (string, error)
- func AskForString(ctx context.Context, text, def string) (string, error)
- func DetectEmail(ctx context.Context, c *cli.Context) string
- func DetectName(ctx context.Context, c *cli.Context) string
- func HasPassPromptFunc(ctx context.Context) bool
- func WithPassPromptFunc(ctx context.Context, ppf PassPromptFunc) context.Context
- type LineReader
- type PassPromptFunc
- type ProgressBar
Examples ¶
Constants ¶
This section is empty.
Variables ¶
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") )
var ( // NameVars are the env vars checked for a valid name NameVars = []string{ "GIT_AUTHOR_NAME", "DEBFULLNAME", "USER", } // EmailVars are the env vars checked for a valid email EmailVars = []string{ "GIT_AUTHOR_EMAIL", "DEBEMAIL", "EMAIL", } )
Functions ¶
func AskForBool ¶
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 ¶
AskForConfirmation asks a yes/no question until the user replies yes or no
func AskForInt ¶
AskForInt asks for an valid interger once. If the input can not be converted to an int it returns an error
func AskForKeyImport ¶
AskForKeyImport asks for permissions to import the named key
func AskForPassword ¶
AskForPassword prompts for a password twice until both match
func AskForString ¶
AskForString asks for a string once, using the default if the answer is empty. Errors are only returned on I/O errors
func DetectEmail ¶
DetectEmail tries to guess the email of the logged in user
func DetectName ¶
DetectName tries to guess the name of the logged in user
func HasPassPromptFunc ¶
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
Types ¶
type LineReader ¶
type LineReader struct {
// contains filtered or unexported fields
}
LineReader is an unbuffered line reader
func (LineReader) ReadLine ¶
func (lr LineReader) ReadLine() (string, error)
ReadLine reads one line w/o buffering
type PassPromptFunc ¶
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
type ProgressBar ¶
type ProgressBar struct {
// contains filtered or unexported fields
}
ProgressBar is a gopass progress bar
Example ¶
max := 100 pb := NewProgressBar(int64(max), false) for i := 0; i < max+20; i++ { pb.Inc() time.Sleep(150 * time.Millisecond) } time.Sleep(5 * time.Second) pb.Done()
Output:
func NewProgressBar ¶
func NewProgressBar(total int64, hidden bool) *ProgressBar
NewProgressBar creates a new progress bar