# README
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
# Functions
New returns a new Writer with defaults.
# Constants
ESC is the ASCII code for escape character.
# Variables
ErrClosedPipe is the error returned when trying to writer is not listening.
Out is the default output writer for the Writer.
RefreshInterval is the default refresh interval to update the ui.
# Interfaces
FdWriter is a writer with a file descriptor.