visibleText property

String get visibleText

The visible text content with folded regions hidden.

Returns the document text with lines inside collapsed fold ranges removed.

Implementation

String get visibleText {
  if (foldings.isEmpty) return text;
  final visLines = List<String>.from(lines);
  for (final fold in foldings.reversed) {
    if (!fold.isFolded) continue;
    final start = fold.startIndex + 1;
    final end = fold.endIndex + 1;
    final safeStart = start.clamp(0, visLines.length);
    final safeEnd = end.clamp(safeStart, visLines.length);
    if (safeEnd > safeStart) {
      visLines.removeRange(safeStart, safeEnd);
    }
  }
  return visLines.join('\n');
}