Documentation ¶
Overview ¶
Example (XOutOfY) ¶
bar := NewOptions(100, OptionSetPredictTime(true)) for i := 0; i < 100; i++ { bar.Add(1) time.Sleep(1 * time.Millisecond) }
Output:
Index ¶
- type Option
- func OptionClearOnFinish() Option
- func OptionEnableColorCodes(colorCodes bool) Option
- func OptionOnCompletion(cmpl func()) Option
- func OptionSetDescription(description string) Option
- func OptionSetPredictTime(predictTime bool) Option
- func OptionSetRenderBlankState(r bool) Option
- func OptionSetTheme(t Theme) Option
- func OptionSetWidth(s int) Option
- func OptionSetWriter(w io.Writer) Option
- func OptionShowBytes(val bool) Option
- func OptionShowCount() Option
- func OptionShowIts() Option
- func OptionThrottle(duration time.Duration) Option
- type ProgressBar
- func (p *ProgressBar) Add(num int) error
- func (p *ProgressBar) Add64(num int64) error
- func (p *ProgressBar) Clear() error
- func (p *ProgressBar) Describe(description string)
- func (p *ProgressBar) Finish() error
- func (p *ProgressBar) GetMax() int
- func (p *ProgressBar) GetMax64() int64
- func (p *ProgressBar) Read(b []byte) (n int, err error)
- func (p *ProgressBar) RenderBlank() error
- func (p *ProgressBar) Reset()
- func (p *ProgressBar) Set(num int) error
- func (p *ProgressBar) Set64(num int64) error
- func (p *ProgressBar) State() State
- func (p *ProgressBar) Write(b []byte) (n int, err error)
- type Reader
- type State
- type Theme
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Option ¶
type Option func(p *ProgressBar)
Option is the type all options need to adhere to
func OptionClearOnFinish ¶
func OptionClearOnFinish() Option
OptionClearOnFinish will clear the bar once its finished
Example ¶
bar := NewOptions(100, OptionSetWidth(10), OptionSetRenderBlankState(false), OptionClearOnFinish()) bar.Reset() bar.Finish() fmt.Println("Finished")
Output: Finished
func OptionEnableColorCodes ¶
OptionEnableColorCodes enables or disables support for color codes using mitchellh/colorstring
func OptionOnCompletion ¶
func OptionOnCompletion(cmpl func()) Option
OptionOnCompletion will invoke cmpl function once its finished
func OptionSetDescription ¶
OptionSetDescription sets the description of the bar to render in front of it
func OptionSetPredictTime ¶
OptionSetPredictTime will also attempt to predict the time remaining.
Example ¶
bar := NewOptions(100, OptionSetWidth(10), OptionSetPredictTime(false)) _ = bar.Add(10)
Output: 10% |█ | [10:100]
func OptionSetRenderBlankState ¶
OptionSetRenderBlankState sets whether or not to render a 0% bar on construction
Example ¶
NewOptions(10, OptionSetWidth(10), OptionSetRenderBlankState(true))
Output: 0% | | [0s:0s]
func OptionSetTheme ¶
OptionSetTheme sets the elements the bar is constructed of
func OptionSetWriter ¶
OptionSetWriter sets the output writer (defaults to os.StdOut)
func OptionShowBytes ¶
OptionShowBytes will update the progress bar configuration settings to display/hide kBytes/Sec
func OptionShowCount ¶
func OptionShowCount() Option
OptionShowCount will also print current count out of total
func OptionShowIts ¶
func OptionShowIts() Option
OptionShowIts will also print the iterations/second
Example ¶
bar := NewOptions(100, OptionSetWidth(10), OptionShowIts()) bar.Reset() time.Sleep(1 * time.Second) bar.Add(10)
Output: 10% |█ | (10 it/s) [1s:9s]
Example (Count) ¶
bar := NewOptions(100, OptionSetWidth(10), OptionShowIts(), OptionShowCount()) bar.Reset() time.Sleep(1 * time.Second) bar.Add(10)
Output: 10% |█ | (10/100)(10 it/s) [1s:9s]
func OptionThrottle ¶
OptionThrottle will wait the specified duration before updating again. The default duration is 0 seconds.
Example ¶
bar := NewOptions(100, OptionSetWidth(10), OptionSetRenderBlankState(false), OptionThrottle(100*time.Millisecond)) bar.Reset() bar.Add(5) time.Sleep(150 * time.Millisecond) bar.Add(5) bar.Add(10)
Output: 10% |█ | [0s:1s]
type ProgressBar ¶
type ProgressBar struct {
// contains filtered or unexported fields
}
ProgressBar is a thread-safe, simple progress bar
Example ¶
bar := New(100) bar.Add(10)
Output: 10% |████ | [0s:0s]
Example (Basic) ¶
bar := NewOptions(100, OptionSetWidth(10), OptionSetRenderBlankState(false)) bar.Reset() time.Sleep(1 * time.Second) bar.Add(10)
Output: 10% |█ | [1s:9s]
func New64 ¶
func New64(max int64) *ProgressBar
New64 returns a new ProgressBar with the specified maximum
func NewOptions ¶
func NewOptions(max int, options ...Option) *ProgressBar
NewOptions constructs a new instance of ProgressBar, with any options you specify
func NewOptions64 ¶
func NewOptions64(max int64, options ...Option) *ProgressBar
NewOptions64 constructs a new instance of ProgressBar, with any options you specify
func (*ProgressBar) Add ¶
func (p *ProgressBar) Add(num int) error
Add will add the specified amount to the progressbar
func (*ProgressBar) Add64 ¶
func (p *ProgressBar) Add64(num int64) error
Add64 will add the specified amount to the progressbar
func (*ProgressBar) Clear ¶
func (p *ProgressBar) Clear() error
Clear erases the progress bar from the current line
func (*ProgressBar) Describe ¶
func (p *ProgressBar) Describe(description string)
Describe will change the description shown before the progress, which can be changed on the fly (as for a slow running process).
Example ¶
bar := NewOptions(100, OptionSetWidth(10), OptionSetRenderBlankState(false)) bar.Reset() time.Sleep(1 * time.Second) bar.Describe("performing axial adjustements") bar.Add(10)
Output: performing axial adjustements 10% |█ | [1s:9s]
func (*ProgressBar) Finish ¶
func (p *ProgressBar) Finish() error
Finish will fill the bar to full
Example ¶
bar := NewOptions(100, OptionSetWidth(10), OptionSetRenderBlankState(false)) bar.Finish()
Output: 100% |██████████| [0s:0s]
func (*ProgressBar) GetMax64 ¶
func (p *ProgressBar) GetMax64() int64
Same as GetMax, but returns int64
func (*ProgressBar) Read ¶
func (p *ProgressBar) Read(b []byte) (n int, err error)
Read implement io.Reader
func (*ProgressBar) RenderBlank ¶
func (p *ProgressBar) RenderBlank() error
RenderBlank renders the current bar state, you can use this to render a 0% state
func (*ProgressBar) Reset ¶
func (p *ProgressBar) Reset()
Reset will reset the clock that is used to calculate current time and the time left.
func (*ProgressBar) Set ¶
func (p *ProgressBar) Set(num int) error
Set wil set the bar to a current number
Example ¶
bar := New(100) bar.Set(10)
Output: 10% |████ | [0s:0s]
type Reader ¶
Reader is the progressbar io.Reader struct