|
|
||
|---|---|---|
| .. | ||
| doc | ||
| example | ||
| .travis.yml | ||
| LICENSE | ||
| README.md | ||
| doc.go | ||
| example_test.go | ||
| writer.go | ||
| writer_posix.go | ||
| writer_test.go | ||
| writer_windows.go | ||
uilive

uilive is a go library for updating terminal output in realtime. It provides a buffered io.Writer that is flushed at a timed interval. uilive powers uiprogress.
Usage Example
Calling uilive.New() will create a new writer. To start rendering, simply call writer.Start() and update the ui by writing to the writer. Full source for the below example is in example/main.go.
writer := uilive.New()
// start listening for updates and render
writer.Start()
for i := 0; i <= 100; i++ {
fmt.Fprintf(writer, "Downloading.. (%d/%d) GB\n", i, 100)
time.Sleep(time.Millisecond * 5)
}
fmt.Fprintln(writer, "Finished: Downloaded 100GB")
writer.Stop() // flush and stop rendering
The above will render
Installation
$ go get -v github.com/gosuri/uilive
