packer-cn/vendor/github.com/mattn/go-tty
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
..
.travis.yml add go-tty vendor 2019-02-27 17:01:02 +01:00
LICENSE add go-tty vendor 2019-02-27 17:01:02 +01:00
README.md add go-tty vendor 2019-02-27 17:01:02 +01:00
tty.go fix panic: send on closed channel 2019-04-25 10:49:08 +02:00
tty_bsd.go add go-tty vendor 2019-02-27 17:01:02 +01:00
tty_linux.go add go-tty vendor 2019-02-27 17:01:02 +01:00
tty_plan9.go fix panic: send on closed channel 2019-04-25 10:49:08 +02:00
tty_unix.go fix panic: send on closed channel 2019-04-25 10:49:08 +02:00
tty_windows.go fix panic: send on closed channel 2019-04-25 10:49:08 +02:00

README.md

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)