make default Fillers public
Vladimir Bauer
6 years ago
| 26 | 26 |
noBrackets bool
|
| 27 | 27 |
}
|
| 28 | 28 |
|
| 29 | |
func newDefaultBarFiller() Filler {
|
| 30 | |
bf := &barFiller{
|
|
29 |
// NewBarFiller bar Filler used with *Progress.AddBar
|
|
30 |
func NewBarFiller() Filler {
|
|
31 |
filler := &barFiller{
|
| 31 | 32 |
format: make([][]byte, utf8.RuneCountInString(defaultBarStyle)),
|
| 32 | 33 |
}
|
| 33 | |
bf.setStyle(defaultBarStyle)
|
| 34 | |
return bf
|
|
34 |
filler.setStyle(defaultBarStyle)
|
|
35 |
return filler
|
| 35 | 36 |
}
|
| 36 | 37 |
|
| 37 | 38 |
func (s *barFiller) setStyle(style string) {
|
| 97 | 97 |
|
| 98 | 98 |
// AddBar creates a new progress bar and adds to the container.
|
| 99 | 99 |
func (p *Progress) AddBar(total int64, options ...BarOption) *Bar {
|
| 100 | |
return p.Add(total, newDefaultBarFiller(), options...)
|
|
100 |
return p.Add(total, NewBarFiller(), options...)
|
| 101 | 101 |
}
|
| 102 | 102 |
|
| 103 | 103 |
// AddSpinner creates a new spinner bar and adds to the container.
|
| 104 | 104 |
func (p *Progress) AddSpinner(total int64, alignment SpinnerAlignment, options ...BarOption) *Bar {
|
| 105 | |
filler := &spinnerFiller{
|
| 106 | |
frames: defaultSpinnerStyle,
|
| 107 | |
alignment: alignment,
|
| 108 | |
}
|
| 109 | |
return p.Add(total, filler, options...)
|
|
105 |
return p.Add(total, NewSpinnerFiller(alignment), options...)
|
| 110 | 106 |
}
|
| 111 | 107 |
|
| 112 | 108 |
// Add creates a bar which renders itself by provided filler.
|
| 113 | 109 |
// Set total to 0, if you plan to update it later.
|
| 114 | 110 |
func (p *Progress) Add(total int64, filler Filler, options ...BarOption) *Bar {
|
| 115 | 111 |
if filler == nil {
|
| 116 | |
filler = newDefaultBarFiller()
|
|
112 |
filler = NewBarFiller()
|
| 117 | 113 |
}
|
| 118 | 114 |
p.bwg.Add(1)
|
| 119 | 115 |
result := make(chan *Bar)
|
| 25 | 25 |
alignment SpinnerAlignment
|
| 26 | 26 |
}
|
| 27 | 27 |
|
|
28 |
// NewSpinnerFiller spinner Filler used with *Progress.AddSpinner
|
|
29 |
func NewSpinnerFiller(alignment SpinnerAlignment) Filler {
|
|
30 |
filler := &spinnerFiller{
|
|
31 |
frames: defaultSpinnerStyle,
|
|
32 |
alignment: alignment,
|
|
33 |
}
|
|
34 |
return filler
|
|
35 |
}
|
|
36 |
|
| 28 | 37 |
func (s *spinnerFiller) Fill(w io.Writer, width int, stat *decor.Statistics) {
|
| 29 | 38 |
|
| 30 | 39 |
frame := s.frames[s.count%uint(len(s.frames))]
|