input.go 565 B

123456789101112131415161718192021222324252627282930313233
  1. package text
  2. import (
  3. "bufio"
  4. "fmt"
  5. "io"
  6. )
  7. func (l *Logger) GetInput(defaultValue string, noConfirm bool) (string, error) {
  8. Info()
  9. if defaultValue != "" || noConfirm {
  10. fmt.Println(defaultValue)
  11. return defaultValue, nil
  12. }
  13. reader := bufio.NewReader(l.r)
  14. buf, overflow, err := reader.ReadLine()
  15. if err != nil {
  16. return "", err
  17. }
  18. if overflow {
  19. return "", ErrInputOverflow{}
  20. }
  21. return string(buf), nil
  22. }
  23. func GetInput(r io.Reader, defaultValue string, noConfirm bool) (string, error) {
  24. return globalLogger.GetInput(defaultValue, noConfirm)
  25. }