guessIndent function
Returns all whitespace characters at the start of charOffset
's line.
Implementation
String guessIndent(String code, int charOffset) {
// Find the beginning of the line
var lineStart = 0;
for (var i = charOffset - 1; i >= 0; i--) {
var c = code.codeUnitAt(i);
if (c == lineFeed || c == carriageReturn) {
lineStart = i + 1;
break;
}
}
// Grab all the whitespace
var whitespaceEnd = code.length;
for (var i = lineStart; i < code.length; i++) {
var c = code.codeUnitAt(i);
if (c != _space && c != _tab) {
whitespaceEnd = i;
break;
}
}
return code.substring(lineStart, whitespaceEnd);
}