mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
hide brace highlighting popup when corresponding editor highlighters are cleared
This commit is contained in:
+10
-1
@@ -55,6 +55,7 @@ import com.intellij.psi.tree.IElementType;
|
||||
import com.intellij.psi.util.PsiUtilBase;
|
||||
import com.intellij.psi.util.PsiUtilCore;
|
||||
import com.intellij.ui.ColorUtil;
|
||||
import com.intellij.ui.LightweightHint;
|
||||
import com.intellij.util.Alarm;
|
||||
import com.intellij.util.Processor;
|
||||
import com.intellij.util.containers.WeakHashMap;
|
||||
@@ -71,6 +72,7 @@ import java.util.Set;
|
||||
public class BraceHighlightingHandler {
|
||||
private static final Key<List<RangeHighlighter>> BRACE_HIGHLIGHTERS_IN_EDITOR_VIEW_KEY = Key.create("BraceHighlighter.BRACE_HIGHLIGHTERS_IN_EDITOR_VIEW_KEY");
|
||||
private static final Key<RangeHighlighter> LINE_MARKER_IN_EDITOR_KEY = Key.create("BraceHighlighter.LINE_MARKER_IN_EDITOR_KEY");
|
||||
private static final Key<LightweightHint> HINT_IN_EDITOR_KEY = Key.create("BraceHighlighter.HINT_IN_EDITOR_KEY");
|
||||
|
||||
/**
|
||||
* Holds weak references to the editors that are being processed at non-EDT.
|
||||
@@ -522,7 +524,8 @@ public class BraceHighlightingHandler {
|
||||
int line2 = myDocument.getLineNumber(range.getEndOffset());
|
||||
line1 = Math.max(line1, line2 - 5);
|
||||
range = new TextRange(myDocument.getLineStartOffset(line1), range.getEndOffset());
|
||||
EditorFragmentComponent.showEditorFragmentHint(myEditor, range, true, true);
|
||||
LightweightHint hint = EditorFragmentComponent.showEditorFragmentHint(myEditor, range, true, true);
|
||||
myEditor.putUserData(HINT_IN_EDITOR_KEY, hint);
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -535,6 +538,12 @@ public class BraceHighlightingHandler {
|
||||
highlighter.dispose();
|
||||
}
|
||||
highlighters.clear();
|
||||
|
||||
LightweightHint hint = myEditor.getUserData(HINT_IN_EDITOR_KEY);
|
||||
if (hint != null) {
|
||||
hint.hide();
|
||||
myEditor.putUserData(HINT_IN_EDITOR_KEY, null);
|
||||
}
|
||||
}
|
||||
|
||||
private void lineMarkFragment(int startLine, int endLine, @NotNull Color color) {
|
||||
|
||||
Reference in New Issue
Block a user