swap params
Vladimir Bauer
7 years ago
| 70 | 70 |
refill *refill
|
| 71 | 71 |
bufP, bufB, bufA *bytes.Buffer
|
| 72 | 72 |
panicMsg string
|
| 73 | |
newLineExtendFn func(bool, io.Writer)
|
|
73 |
newLineExtendFn func(io.Writer, bool)
|
| 74 | 74 |
|
| 75 | 75 |
// following options are assigned to the *Bar
|
| 76 | 76 |
priority int
|
|
| 304 | 304 |
r := s.draw(tw, pSyncer, aSyncer)
|
| 305 | 305 |
if s.newLineExtendFn != nil {
|
| 306 | 306 |
b.bufNL.Reset()
|
| 307 | |
s.newLineExtendFn(s.completeFlushed, b.bufNL)
|
|
307 |
s.newLineExtendFn(b.bufNL, s.completeFlushed)
|
| 308 | 308 |
r = io.MultiReader(r, b.bufNL)
|
| 309 | 309 |
}
|
| 310 | 310 |
b.frameReaderCh <- &frameReader{
|
|
| 319 | 319 |
r := s.draw(tw, pSyncer, aSyncer)
|
| 320 | 320 |
if s.newLineExtendFn != nil {
|
| 321 | 321 |
b.bufNL.Reset()
|
| 322 | |
s.newLineExtendFn(s.completeFlushed, b.bufNL)
|
|
322 |
s.newLineExtendFn(b.bufNL, s.completeFlushed)
|
| 323 | 323 |
r = io.MultiReader(r, b.bufNL)
|
| 324 | 324 |
}
|
| 325 | 325 |
b.frameReaderCh <- &frameReader{Reader: r}
|
| 104 | 104 |
|
| 105 | 105 |
// BarNewLineExtend takes user defined efn, which is called each render cycle.
|
| 106 | 106 |
// Any write to provided writer w of efn, will appear on new line of respective bar.
|
| 107 | |
func BarNewLineExtend(efn func(completed bool, w io.Writer)) BarOption {
|
|
107 |
func BarNewLineExtend(efn func(w io.Writer, completed bool)) BarOption {
|
| 108 | 108 |
return func(s *bState) {
|
| 109 | 109 |
s.newLineExtendFn = efn
|
| 110 | 110 |
}
|
| 22 | 22 |
|
| 23 | 23 |
for i := 0; i < numBars; i++ {
|
| 24 | 24 |
name := fmt.Sprintf("Bar#%d:", i)
|
| 25 | |
efn := func(completed bool, w io.Writer) {
|
|
25 |
efn := func(w io.Writer, completed bool) {
|
| 26 | 26 |
if completed {
|
| 27 | 27 |
io.WriteString(w, name+" is completed!\n")
|
| 28 | 28 |
}
|