add method

ProgressState add(
  1. Progress progress
)

Adds a new Progress to current MultiProgress.

Implementation

ProgressState add(Progress progress) {
  final index = _bars.length;

  _lines.add(StringBuffer());
  progress.setContext(
    BufferContext(
      buffer: _lines[index],
      setState: _render,
    ),
  );
  _bars.add(progress.interact());

  final state = ProgressState(
    current: _bars[index].current,
    increase: (n) => _bars[index].increase(n),
    clear: () => _bars[index].clear(),
    done: () {
      final disposer = _bars[index].done();
      _dispose(() {
        _disposers.add(disposer);
      });
      return disposer;
    },
  );

  return state;
}