diff --git a/bar.go b/bar.go index ad81d38..251b3d3 100644 --- a/bar.go +++ b/bar.go @@ -66,7 +66,7 @@ refill *refill bufP, bufB, bufA *bytes.Buffer panicMsg string - newLineExtendFn func(io.Writer, bool) + newLineExtendFn func(io.Writer, *decor.Statistics) // following options are assigned to the *Bar priority int @@ -285,7 +285,7 @@ r := s.draw(tw) if s.newLineExtendFn != nil { b.bufNL.Reset() - s.newLineExtendFn(b.bufNL, s.completeFlushed) + s.newLineExtendFn(b.bufNL, newStatistics(s)) r = io.MultiReader(r, b.bufNL) } b.frameReaderCh <- &frameReader{ @@ -300,7 +300,7 @@ r := s.draw(tw) if s.newLineExtendFn != nil { b.bufNL.Reset() - s.newLineExtendFn(b.bufNL, s.completeFlushed) + s.newLineExtendFn(b.bufNL, newStatistics(s)) r = io.MultiReader(r, b.bufNL) } b.frameReaderCh <- &frameReader{Reader: r} diff --git a/bar_option.go b/bar_option.go index fea197d..e33bce4 100644 --- a/bar_option.go +++ b/bar_option.go @@ -103,9 +103,9 @@ } } -// BarNewLineExtend takes user defined efn, which is called each render cycle. -// Any write to provided writer w of efn, will appear on new line of respective bar. -func BarNewLineExtend(efn func(w io.Writer, completed bool)) BarOption { +// BarNewLineExtend takes user defined efn, which gets called each render cycle. +// Any write to provided writer of efn, will appear on new line of respective bar. +func BarNewLineExtend(efn func(io.Writer, *decor.Statistics)) BarOption { return func(s *bState) { s.newLineExtendFn = efn } diff --git a/examples/barNewLineExtend/main.go b/examples/barNewLineExtend/main.go index 6bb1387..08a6515 100644 --- a/examples/barNewLineExtend/main.go +++ b/examples/barNewLineExtend/main.go @@ -23,9 +23,9 @@ for i := 0; i < numBars; i++ { name := fmt.Sprintf("Bar#%d:", i) - efn := func(w io.Writer, completed bool) { - if completed { - io.WriteString(w, name+" is completed!\n") + efn := func(w io.Writer, s *decor.Statistics) { + if s.Completed { + fmt.Fprintf(w, "Bar id: %d has been completed\n", s.ID) } } bar := p.AddBar(int64(total), mpb.BarNewLineExtend(efn),