Categorygithub.com/gosuri/uilive
modulepackage
0.0.4
Repository: https://github.com/gosuri/uilive.git
Documentation: pkg.go.dev

# README

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

# Packages

# 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.

# Structs

Writer is a buffered the writer that updates the terminal.

# Interfaces

FdWriter is a writer with a file descriptor.