Adrien Delorme 71c00c200f fix panic: send on closed channel
on windows: if the term is resized when ReadString is being called and no one is reading form ws, we get a panic: send on closed channel.
It could make sense to poll getconsolescreenbufferinfo calls instead of this:
something started from the sigwinch() func

on unix: same story, sigwinch was listened upon by default but if the
signals (chan sends) were not handled, this could cause a crash

fix #7434
2019-04-25 10:49:08 +02:00
..
2019-02-27 17:01:02 +01:00
2019-02-27 17:01:02 +01:00
2019-02-27 17:01:02 +01:00
2019-02-27 17:01:02 +01:00
2019-02-27 17:01:02 +01:00
2019-04-25 10:49:08 +02:00
2019-04-25 10:49:08 +02:00
2019-04-25 10:49:08 +02:00

go-tty

Simple tty utility

Usage

tty, err := tty.Open()
if err != nil {
	log.Fatal(err)
}
defer tty.Close()

for {
	r, err := tty.ReadRune()
	if err != nil {
		log.Fatal(err)
	}
	// handle key event
}

if you are on windows and want to display ANSI colors, use go-colorable.

tty, err := tty.Open()
if err != nil {
	log.Fatal(err)
}
defer tty.Close()

out := colorable.NewColorable(tty.Output())

fmt.Fprintln(out, "\x1b[2J")

Installation

$ go get github.com/mattn/go-tty

License

MIT

Author

Yasuhiro Matsumoto (a.k.a mattn)