inlineCommentStart function
The index of the # that starts an inline comment in line, ignoring
# inside quotes and # not preceded by whitespace.
Implementation
int? inlineCommentStart(String line) {
var inSingle = false;
var inDouble = false;
for (var i = 0; i < line.length; i++) {
final char = line[i];
if (char == "'" && !inDouble) {
inSingle = !inSingle;
} else if (char == '"' && !inSingle) {
inDouble = !inDouble;
} else if (char == '#' &&
!inSingle &&
!inDouble &&
(i == 0 || line[i - 1] == ' ' || line[i - 1] == '\t')) {
return i;
}
}
return null;
}