getLineSpan method
Implementation
TextSpan? getLineSpan(int lineIndex, String lineText) {
if (_lineSpanCache.containsKey(lineText)) {
return _lineSpanCache[lineText];
}
final grammarSpan = _highlightLine(lineText);
if (_isEditing) {
_lineSpanCache[lineText] = grammarSpan;
return grammarSpan;
}
final semanticSpans = _lineSemanticSpans[lineIndex];
final mergedSpan = _mergeGrammarAndSemantic(
lineText,
grammarSpan,
semanticSpans,
);
_lineSpanCache[lineText] = mergedSpan;
_mergedCache[lineIndex] = HighlightedLine(lineText, mergedSpan, _version);
return mergedSpan;
}