start method

void start()

Begins reading input. In non-interactive mode this simply splits input into lines; in interactive mode it enables raw terminal handling.

Implementation

void start() {
  if (!interactive) {
    _sub = _input
        .transform(utf8.decoder)
        .transform(const LineSplitter())
        .listen((line) async {
          _sub?.pause();
          await _onLine(line);
          _sub?.resume();
        });
    return;
  }
  _setRawMode?.call(true);
  _sub = _input.listen(_onBytes);
}