writeAscii method

void writeAscii(
  1. String text,
  2. int start,
  3. int end
)

Implementation

void writeAscii(String text, int start, int end) {
  if (terminal.insertMode || !terminal.autoWrapMode || !charset.isAscii) {
    for (var index = start; index < end; index++) {
      writeChar(text.codeUnitAt(index));
    }
    return;
  }

  while (start < end) {
    final rightLimit = _rightLimit;
    if (_cursorX >= rightLimit) {
      _wrapInput();
    }

    final count = min(end - start, _rightLimit - _cursorX);
    currentLine.setAsciiCells(
      _cursorX,
      text,
      start,
      count,
      terminal.cursor,
    );
    _cursorX += count;
    start += count;
  }
}