Skip to content
/ uilive Public

uilive is a go library for updating terminal output in realtime

License

Notifications You must be signed in to change notification settings

gosuri/uilive

Folders and files

NameName
Last commit message
Last commit date
Nov 19, 2015
Apr 11, 2019
May 16, 2019
Nov 16, 2015
Apr 11, 2019
Dec 11, 2015
Dec 4, 2015
Nov 20, 2015
Aug 7, 2019
Aug 7, 2019
Nov 7, 2019
Jan 2, 2020
Apr 11, 2019
Jan 2, 2020
May 16, 2019

Repository files navigation

uilive GoDoc Build Status

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

example

Installation

$ go get -v github.com/gosuri/uilive