mark2web/vendor/github.com/gosuri/uilive
Sebastian Frank a781485c0a
Some checks failed
continuous-integration/drone/push Build is failing
no git submodules
2022-02-28 10:28:34 +01:00
..
.travis.yml no git submodules 2022-02-28 10:28:34 +01:00
doc.go no git submodules 2022-02-28 10:28:34 +01:00
go.mod no git submodules 2022-02-28 10:28:34 +01:00
LICENSE no git submodules 2022-02-28 10:28:34 +01:00
Makefile no git submodules 2022-02-28 10:28:34 +01:00
README.md no git submodules 2022-02-28 10:28:34 +01:00
terminal_size_windows.go no git submodules 2022-02-28 10:28:34 +01:00
terminal_size.go no git submodules 2022-02-28 10:28:34 +01:00
writer_posix.go no git submodules 2022-02-28 10:28:34 +01:00
writer_windows.go no git submodules 2022-02-28 10:28:34 +01:00
writer.go no git submodules 2022-02-28 10:28:34 +01:00

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