getCurrentWordPrefixAt method
Implementation
String getCurrentWordPrefixAt(int offset) {
final safeOffset = offset.clamp(0, length);
if (safeOffset == 0) return '';
final lineIndex = _rope.getLineAtOffset(safeOffset);
final lineStart = _rope.getLineStartOffset(lineIndex);
final lineText = _bufferLineIndex == lineIndex && _bufferDirty
? _bufferLineText!
: _rope.getLineText(lineIndex);
final col = (safeOffset - lineStart).clamp(0, lineText.length);
if (col <= 0) return '';
int i = col - 1;
while (i >= 0) {
final code = lineText.codeUnitAt(i);
if (!_isIdentChar(code)) break;
i--;
}
final start = i + 1;
if (start >= col) return '';
final firstCode = lineText.codeUnitAt(start);
if (!_isIdentStartChar(firstCode)) return '';
return lineText.substring(start, col);
}