getCurrentWordPrefix method
Implementation
String getCurrentWordPrefix(String text, int offset) {
final safeOffset = offset.clamp(0, text.length);
if (isBufferActive) {
final lineText = bufferLineText ?? '';
final col = bufferCursorColumn;
if (col <= 0) return '';
if (col > lineText.length) 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);
}
if (safeOffset == 0) return '';
int i = safeOffset - 1;
while (i >= 0) {
final code = text.codeUnitAt(i);
if (!_isIdentChar(code)) break;
i--;
}
final start = i + 1;
if (start >= safeOffset) return '';
final firstCode = text.codeUnitAt(start);
if (!_isIdentStartChar(firstCode)) return '';
return text.substring(start, safeOffset);
}