in src/main/java/idea/plugin/psiviewer/view/EditorPsiElementHighlighter.java [78:96]
private void applyReference(PsiReference reference) {
_editor = FileEditorManager.getInstance(_project).getSelectedTextEditor();
if (_editor == null) {
debug("no editor => no need to highlight");
return;
}
if (isHighlightOn() && isElementInEditor(_editor, reference.getElement())) {
TextRange textRange = reference.getElement().getTextRange().cutOut(reference.getRangeInElement());
debug("Adding reference highlighting for " + textRange);
final int docTextLength = _editor.getDocument().getTextLength();
_referenceHighlighter = _editor.getMarkupModel().addRangeHighlighter(textRange.getStartOffset(),
Math.min(textRange.getEndOffset(), docTextLength),
PsiViewerConstants.PSIVIEWER_REFERENCE_HIGHLIGHT_LAYER,
_referenceTextAttributes,
HighlighterTargetArea.EXACT_RANGE);
}
}