highlight method
List<List<ThemedToken> >
highlight(
- String code, {
- required String language,
- required SyntaxTheme theme,
Styled tokens per line. Adjacent tokens with the same style are merged.
Implementation
List<List<ThemedToken>> highlight(
String code, {
required String language,
required SyntaxTheme theme,
}) {
final grammar = this.grammar(language);
final result = <List<ThemedToken>>[];
StateStack? state;
for (final line in splitLines(code)) {
final tokens = grammar.tokenizeLine(line, state);
result.add(themeTokens(line, tokens.tokens, theme));
state = tokens.endState;
}
return result;
}