(v0.1.1) Automated packaging of release by Packagr
This commit is contained in:
+53
@@ -0,0 +1,53 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"fmt"
|
||||
"github.com/fatih/color"
|
||||
"golang.org/x/crypto/ssh/terminal"
|
||||
"os"
|
||||
"strings"
|
||||
"syscall"
|
||||
)
|
||||
|
||||
func StdinQueryPassword(question string) (string, error) {
|
||||
|
||||
fmt.Println(color.BlueString(question))
|
||||
bytePassword, err := terminal.ReadPassword(int(syscall.Stdin))
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
text := strings.TrimSpace(string(bytePassword))
|
||||
return text, nil
|
||||
}
|
||||
|
||||
func StdinQuery(question string) string {
|
||||
|
||||
fmt.Println(color.BlueString(question))
|
||||
reader := bufio.NewReader(os.Stdin)
|
||||
text, _ := reader.ReadString('\n')
|
||||
text = strings.TrimSpace(text)
|
||||
return text
|
||||
}
|
||||
|
||||
func StdinQueryBoolean(question string) bool {
|
||||
|
||||
text := StdinQuery(question)
|
||||
text = strings.ToLower(text)
|
||||
|
||||
if text == "true" || text == "yes" || text == "y" {
|
||||
return true
|
||||
} else if text == "false" || text == "no" || text == "n" {
|
||||
return false
|
||||
} else {
|
||||
color.Yellow("WARNING: invalid response only true/yes/y/false/no/n allowed not `%v`.\nAssuming `no`", text)
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
func StdinQueryInt(question string) (int, error) {
|
||||
|
||||
text := StdinQuery(question)
|
||||
return StringToInt(text)
|
||||
}
|
||||
Reference in New Issue
Block a user