- JaiSyntaxHighlighter maps every one of the lexer's token types; asserted over
the whole corpus (105 distinct token types seen, all mapped)
- JaiHighlightingLexer refines IDENT into built-in types and loop variables for
colouring only, so the parser never sees them as reserved
- colour settings page with a demo file that is itself asserted to lex cleanly
JaiLexer mirrors compose_new_token in the compiler's own lexer. Nested block
comments and here-strings are each consumed inside a single token, so the lexer
state is always 0 and it can restart at any token boundary.
13 plain-JUnit tests, one per gotcha in the language reference §14.