blob: c8892478ec320952012ab3426e8b580ca5a108d7 [file] [log] [blame]
package loop
import (
"bufio"
"fmt"
"io"
)
type PromptReader interface {
Read() (string, error)
}
type IOReaderPromptReader struct {
s *bufio.Scanner
}
func NewIOReaderPromptReader(r io.Reader) *IOReaderPromptReader {
return &IOReaderPromptReader{
s: bufio.NewScanner(r),
}
}
func (r IOReaderPromptReader) Read() (string, error) {
if !r.s.Scan() {
return "", fmt.Errorf("done")
}
return r.s.Text(), nil
}