Skip to content
/ uilive Public
forked from gosuri/uilive

uilive is a go library for updating terminal output in realtime

License

Notifications You must be signed in to change notification settings

marcheg/uilive

This branch is 3 commits ahead of gosuri/uilive:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

eba5a5f · Jun 14, 2022

History

45 Commits
Nov 19, 2015
Jun 1, 2022
May 16, 2019
Nov 16, 2015
Apr 11, 2019
Dec 11, 2015
Dec 4, 2015
Jun 1, 2022
Jun 14, 2022
Jun 14, 2022
Aug 7, 2019
Nov 7, 2019
Jun 14, 2022
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

About

uilive is a go library for updating terminal output in realtime

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.1%
  • Makefile 0.9%