scan method
bool
scan(
- LuaExternalScannerState state,
- TreeSitterExternalLexer lexer,
- List<
bool> validSymbols
override
Implementation
@override
bool scan(
LuaExternalScannerState state,
TreeSitterExternalLexer lexer,
List<bool> validSymbols,
) {
if (_valid(validSymbols, 5) && _scanBlockEnd(state, lexer)) {
_reset(state);
lexer.setResultSymbol(symbols[5]);
return true;
}
if (_valid(validSymbols, 4) && _scanBlockContent(state, lexer)) {
lexer.setResultSymbol(symbols[4]);
return true;
}
if (_valid(validSymbols, 2) &&
state.endingChar == 0 &&
_scanBlockEnd(state, lexer)) {
_reset(state);
lexer.setResultSymbol(symbols[2]);
return true;
}
if (_valid(validSymbols, 1) && _scanCommentContent(state, lexer)) {
lexer.setResultSymbol(symbols[1]);
return true;
}
while (_isWhitespace(lexer.lookahead)) lexer.advance(skip: true);
if (_valid(validSymbols, 3) && _scanBlockStart(state, lexer)) {
lexer.setResultSymbol(symbols[3]);
return true;
}
if (_valid(validSymbols, 0) && _scanCommentStart(state, lexer)) {
lexer.setResultSymbol(symbols[0]);
return true;
}
return false;
}