updateViewport method

void updateViewport()

Update the viewport content.

Implementation

void updateViewport() {
  final renderedRows = <String>[];

  if (_cursor >= 0) {
    _start = (_cursor - (_viewport.height ?? 0)).clamp(0, _cursor);
  } else {
    _start = 0;
  }
  _end = (_cursor + (_viewport.height ?? 0)).clamp(_cursor, _rows.length);

  for (var i = _start; i < _end; i++) {
    renderedRows.add(_renderRow(i));
  }

  _viewport = _viewport.setContent(renderedRows.join('\n'));
}