highlighted method
file's highlighting.
With a budget, a file not highlighted yet gets at most that long,
and tokenize finishes it. Without one, the file is finished now.
Implementation
HighlightedDiff highlighted(FileDiff file, {Duration? budget}) {
final grammar = HighlightedDiff._grammarFor(file, highlighter, language);
if (_highlights[file] case (
final cached,
final highlighted,
) when identical(cached, grammar)) {
if (budget == null) highlighted.tokenize();
return highlighted;
}
final highlighted = HighlightedDiff.of(
file,
highlighter: highlighter,
theme: theme,
language: language,
budget: budget,
);
_highlights[file] = (grammar, highlighted);
return highlighted;
}