getText method
Get the plain text content of the buffer including the scrollback.
Accepts an optional range to get a specific part of the buffer.
Implementation
String getText([BufferRange? range]) {
range ??= BufferRangeLine(
CellOffset(0, 0),
CellOffset(viewWidth - 1, height - 1),
);
range = range.normalized;
final builder = StringBuffer();
for (var segment in range.toSegments()) {
if (segment.line < 0 || segment.line >= height) {
continue;
}
final line = lines[segment.line];
if (!(segment.line == range.begin.y ||
segment.line == 0 ||
line.isWrapped)) {
builder.write("\n");
}
builder.write(line.getText(segment.start, segment.end));
}
return builder.toString();
}