go-prompt/prompt_windows.go
Yasuhiro Matsumoto 768f2d8293 windows support
2017-09-07 08:58:11 +09:00

29 lines
483 B
Go

// +build windows
package prompt
import (
"log"
"time"
"unicode/utf8"
)
func (p *Prompt) readBuffer(bufCh chan []byte, stopCh chan struct{}) {
buf := make([]byte, 1024)
log.Printf("[INFO] readBuffer start")
for {
time.Sleep(10 * time.Millisecond)
select {
case <-stopCh:
log.Print("[INFO] stop readBuffer")
return
default:
if r, err := p.in.(*VT100Parser).tty.ReadRune(); err == nil {
n := utf8.EncodeRune(buf[:], r)
bufCh <- buf[:n]
}
}
}
}