currentLine property

BufferLine get currentLine

The line at the current cursor position.

The resolved line is cached: writeChar resolves it once per character otherwise (range check + modulo through the circular buffer). The cache is invalidated on every cursor-Y change and every operation that moves, replaces or rotates lines, and lazily re-resolved here.

Implementation

BufferLine get currentLine {
  return _currentLineCache ??= lines[absoluteCursorY];
}