private void apply()

in src/main/java/idea/plugin/psiviewer/view/EditorPsiElementHighlighter.java [54:76]


    private void apply(PsiElement element) {
        remove();

        _editor = FileEditorManager.getInstance(_project).getSelectedTextEditor();
        if (_editor == null) {
            debug("no editor => no need to highlight");
            return;
        }

        if (element instanceof PsiWhiteSpace && isWhiteSpaceFiltered())
            return;

        if (isHighlightOn() && isElementInEditor(_editor, element)) {
            TextRange textRange = element.getTextRange();
            debug("Adding highlighting for " + textRange);
            final int docTextLength = _editor.getDocument().getTextLength();
            _highlighter = _editor.getMarkupModel().addRangeHighlighter(textRange.getStartOffset(),
                    Math.min(textRange.getEndOffset(), docTextLength),
                    PsiViewerConstants.PSIVIEWER_HIGHLIGHT_LAYER,
                    _textAttributes,
                    HighlighterTargetArea.EXACT_RANGE);
        }
    }