28 lines
448 B
Go
28 lines
448 B
Go
package prompt
|
|
|
|
import (
|
|
"bufio"
|
|
"fmt"
|
|
"os"
|
|
"strings"
|
|
|
|
"golang.org/x/term"
|
|
)
|
|
|
|
func Line(label string) (string, error) {
|
|
fmt.Print(label)
|
|
reader := bufio.NewReader(os.Stdin)
|
|
text, err := reader.ReadString('\n')
|
|
if err != nil {
|
|
return "", err
|
|
}
|
|
return strings.TrimSpace(text), nil
|
|
}
|
|
|
|
func Password(label string) ([]byte, error) {
|
|
fmt.Print(label)
|
|
value, err := term.ReadPassword(int(os.Stdin.Fd()))
|
|
fmt.Println()
|
|
return value, err
|
|
}
|