1234567891011121314151617181920212223242526272829 |
- // +build linux darwin freebsd netbsd openbsd solaris dragonfly
- package pb
- import "fmt"
- func (p *Pool) print(first bool) bool {
- p.m.Lock()
- defer p.m.Unlock()
- var out string
- if !first {
- out = fmt.Sprintf("\033[%dA", p.lastBarsCount)
- }
- isFinished := true
- for _, bar := range p.bars {
- if !bar.IsFinished() {
- isFinished = false
- }
- bar.Update()
- out += fmt.Sprintf("\r%s\n", bar.String())
- }
- if p.Output != nil {
- fmt.Fprint(p.Output, out)
- } else {
- fmt.Print(out)
- }
- p.lastBarsCount = len(p.bars)
- return isFinished
- }
|