Documentation ¶
Overview ¶
Simple console progress bars
Index ¶
- Constants
- Variables
- func Format(i int64) *formatter
- func GetTerminalWidth() (int, error)
- type Callback
- type Pool
- type ProgressBar
- func (pb *ProgressBar) Add(add int) int
- func (pb *ProgressBar) Add64(add int64) int64
- func (pb *ProgressBar) Finish()
- func (pb *ProgressBar) FinishPrint(str string)
- func (pb *ProgressBar) Format(format string) *ProgressBar
- func (pb *ProgressBar) Get() int64
- func (pb *ProgressBar) GetWidth() int
- func (pb *ProgressBar) Increment() int
- func (pb *ProgressBar) NewProxyReader(r io.Reader) *Reader
- func (pb *ProgressBar) Postfix(postfix string) *ProgressBar
- func (pb *ProgressBar) Prefix(prefix string) *ProgressBar
- func (pb *ProgressBar) Read(p []byte) (n int, err error)
- func (pb *ProgressBar) Set(current int) *ProgressBar
- func (pb *ProgressBar) Set64(current int64) *ProgressBar
- func (pb *ProgressBar) SetMaxWidth(width int) *ProgressBar
- func (pb *ProgressBar) SetRefreshRate(rate time.Duration) *ProgressBar
- func (pb *ProgressBar) SetUnits(units Units) *ProgressBar
- func (pb *ProgressBar) SetWidth(width int) *ProgressBar
- func (pb *ProgressBar) Start() *ProgressBar
- func (pb *ProgressBar) String() string
- func (pb *ProgressBar) Update()
- func (pb *ProgressBar) Write(p []byte) (n int, err error)
- type Reader
- type Units
Constants ¶
const ( // Default refresh rate - 200ms DEFAULT_REFRESH_RATE = time.Millisecond * 200 FORMAT = "[=>-]" )
const ( TIOCGWINSZ = 0x5413 TIOCGWINSZ_OSX = 1074295912 )
const Version = "1.0.5"
Current version
Variables ¶
var ( DefaultRefreshRate = DEFAULT_REFRESH_RATE BarStart, BarEnd, Empty, Current, CurrentN string )
DEPRECATED variables for backward compatibility, from now do not work use pb.Format and pb.SetRefreshRate
var ErrPoolWasStarted = errors.New("Bar pool was started")
Functions ¶
func GetTerminalWidth ¶
GetTerminalWidth - returns terminal width for all platforms.
Types ¶
type Callback ¶
type Callback func(out string)
Callback for custom output For example:
bar.Callback = func(s string) { mySuperPrint(s) }
type Pool ¶
func StartPool ¶
func StartPool(pbs ...*ProgressBar) (pool *Pool, err error)
Create and start new pool with given bars You need call pool.Stop() after work
type ProgressBar ¶
type ProgressBar struct { Total int64 RefreshRate time.Duration ShowPercent, ShowCounters bool ShowSpeed, ShowTimeLeft, ShowBar bool ShowFinalTime bool Output io.Writer Callback Callback NotPrint bool Units Units Width int ForceWidth bool ManualUpdate bool AutoStat bool // Default width for the time box. UnitsWidth int TimeBoxWidth int BarStart string BarEnd string Empty string Current string CurrentN string AlwaysUpdate bool // contains filtered or unexported fields }
func New64 ¶
func New64(total int64) *ProgressBar
Create new progress bar object using int64 as total
func (*ProgressBar) Add64 ¶
func (pb *ProgressBar) Add64(add int64) int64
func (*ProgressBar) FinishPrint ¶
func (pb *ProgressBar) FinishPrint(str string)
End print and write string 'str'
func (*ProgressBar) Format ¶
func (pb *ProgressBar) Format(format string) *ProgressBar
Set custom format for bar Example: bar.Format("[=>_]") Example: bar.Format("[\x00=\x00>\x00-\x00]") // \x00 is the delimiter
func (*ProgressBar) GetWidth ¶
func (pb *ProgressBar) GetWidth() int
func (*ProgressBar) NewProxyReader ¶
func (pb *ProgressBar) NewProxyReader(r io.Reader) *Reader
Create new proxy reader over bar Takes io.Reader or io.ReadCloser
func (*ProgressBar) Postfix ¶
func (pb *ProgressBar) Postfix(postfix string) *ProgressBar
Set postfix string
func (*ProgressBar) Prefix ¶
func (pb *ProgressBar) Prefix(prefix string) *ProgressBar
Set prefix string
func (*ProgressBar) Read ¶
func (pb *ProgressBar) Read(p []byte) (n int, err error)
implement io.Reader
func (*ProgressBar) Set64 ¶
func (pb *ProgressBar) Set64(current int64) *ProgressBar
Set64 sets the current value as int64
func (*ProgressBar) SetMaxWidth ¶
func (pb *ProgressBar) SetMaxWidth(width int) *ProgressBar
Set max width, if width is bigger than terminal width, will be ignored
func (*ProgressBar) SetRefreshRate ¶
func (pb *ProgressBar) SetRefreshRate(rate time.Duration) *ProgressBar
Set bar refresh rate
func (*ProgressBar) SetUnits ¶
func (pb *ProgressBar) SetUnits(units Units) *ProgressBar
Set units bar.SetUnits(U_NO) - by default bar.SetUnits(U_BYTES) - for Mb, Kb, etc
func (*ProgressBar) SetWidth ¶
func (pb *ProgressBar) SetWidth(width int) *ProgressBar
Set bar width
func (*ProgressBar) String ¶
func (pb *ProgressBar) String() string
func (*ProgressBar) Update ¶
func (pb *ProgressBar) Update()
Write the current state of the progressbar
type Reader ¶
It's proxy reader, implement io.Reader