movementState function
Implementation
Function? movementState(Lexer lexer) {
bool superset = false;
String chr = lexer.next();
if (chr == Token.EOF) {
return null;
}
if (chr == "+") {
superset = true;
lexer.take([" "]);
lexer.ignore();
chr = lexer.next();
}
if (chr == "'") {
lexer.ignore();
chr = lexer.next();
}
while (!isColonTerminator(chr)) {
chr = lexer.next();
}
lexer.rewind();
if (superset) {
lexer.emit(TokenType.SupersetMovement);
} else {
lexer.emit(TokenType.Movement);
}
lexer.take([":"]);
lexer.ignore();
return idleState;
}