Search in sources :

Example 1 with EditorFragmentComponent

use of com.intellij.codeInsight.hint.EditorFragmentComponent in project intellij-community by JetBrains.

the class LineStatusMarkerPopup method createEditorComponent.

@Nullable
private EditorFragmentComponent createEditorComponent(@Nullable FileType fileType, @Nullable List<DiffFragment> wordDiff) {
    if (myRange.getType() == Range.INSERTED)
        return null;
    EditorEx uEditor = (EditorEx) EditorFactory.getInstance().createViewer(myTracker.getVcsDocument(), myTracker.getProject());
    uEditor.setColorsScheme(myEditor.getColorsScheme());
    DiffUtil.setEditorCodeStyle(myTracker.getProject(), uEditor, fileType);
    EditorHighlighterFactory highlighterFactory = EditorHighlighterFactory.getInstance();
    uEditor.setHighlighter(highlighterFactory.createEditorHighlighter(myTracker.getProject(), getFileName(myTracker.getDocument())));
    if (wordDiff != null) {
        int vcsStartShift = myTracker.getVcsTextRange(myRange).getStartOffset();
        for (DiffFragment fragment : wordDiff) {
            int vcsStart = vcsStartShift + fragment.getStartOffset1();
            int vcsEnd = vcsStartShift + fragment.getEndOffset1();
            TextDiffType type = getDiffType(fragment);
            DiffDrawUtil.createInlineHighlighter(uEditor, vcsStart, vcsEnd, type);
        }
    }
    EditorFragmentComponent fragmentComponent = EditorFragmentComponent.createEditorFragmentComponent(myEditor.getContentComponent(), uEditor, myRange.getVcsLine1(), myRange.getVcsLine2(), false, false);
    EditorFactory.getInstance().releaseEditor(uEditor);
    return fragmentComponent;
}
Also used : EditorEx(com.intellij.openapi.editor.ex.EditorEx) DiffFragment(com.intellij.diff.fragments.DiffFragment) EditorFragmentComponent(com.intellij.codeInsight.hint.EditorFragmentComponent) TextDiffType(com.intellij.diff.util.TextDiffType) EditorHighlighterFactory(com.intellij.openapi.editor.highlighter.EditorHighlighterFactory) HintHint(com.intellij.ui.HintHint) LightweightHint(com.intellij.ui.LightweightHint) Nullable(org.jetbrains.annotations.Nullable)

Aggregations

EditorFragmentComponent (com.intellij.codeInsight.hint.EditorFragmentComponent)1 DiffFragment (com.intellij.diff.fragments.DiffFragment)1 TextDiffType (com.intellij.diff.util.TextDiffType)1 EditorEx (com.intellij.openapi.editor.ex.EditorEx)1 EditorHighlighterFactory (com.intellij.openapi.editor.highlighter.EditorHighlighterFactory)1 HintHint (com.intellij.ui.HintHint)1 LightweightHint (com.intellij.ui.LightweightHint)1 Nullable (org.jetbrains.annotations.Nullable)1