mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IJPL-208006 Improve logging for LineMarkersUtil
GitOrigin-RevId: 8bf69300162d450d20ad540919e77d95f0890faf
This commit is contained in:
committed by
intellij-monorepo-bot
parent
25f8021421
commit
f981291c4c
@@ -97,21 +97,21 @@ final class LineMarkersUtil {
|
||||
recycler.clear();
|
||||
}
|
||||
|
||||
private static void createOrReuseLineMarker(@NotNull LineMarkerInfo<?> info,
|
||||
private static void createOrReuseLineMarker(@NotNull LineMarkerInfo<?> lineMarkerInfo,
|
||||
@NotNull Project project,
|
||||
@NotNull MarkupModelEx markupModel,
|
||||
@NotNull Long2ObjectMap<List<RangeHighlighterEx>> toReuse,
|
||||
@NotNull CodeInsightContext context) {
|
||||
LineMarkerInfo.LineMarkerGutterIconRenderer<?> newRenderer = (LineMarkerInfo.LineMarkerGutterIconRenderer<?>)info.createGutterRenderer();
|
||||
List<RangeHighlighterEx> list = toReuse.get(TextRangeScalarUtil.toScalarRange(info.startOffset, info.endOffset));
|
||||
LineMarkerInfo.LineMarkerGutterIconRenderer<?> newRenderer = (LineMarkerInfo.LineMarkerGutterIconRenderer<?>)lineMarkerInfo.createGutterRenderer();
|
||||
List<RangeHighlighterEx> list = toReuse.get(TextRangeScalarUtil.toScalarRange(lineMarkerInfo.startOffset, lineMarkerInfo.endOffset));
|
||||
RangeHighlighterEx highlighter = list == null ? null : ContainerUtil.find(list, r -> r.getLayer() == HighlighterLayer.ADDITIONAL_SYNTAX);
|
||||
if (highlighter == null) {
|
||||
highlighter = markupModel.addRangeHighlighterAndChangeAttributes(
|
||||
null, info.startOffset, info.endOffset,
|
||||
null, lineMarkerInfo.startOffset, lineMarkerInfo.endOffset,
|
||||
HighlighterLayer.ADDITIONAL_SYNTAX, HighlighterTargetArea.LINES_IN_RANGE, false,
|
||||
changeAttributes(info, project, true, newRenderer, context, true, true));
|
||||
changeAttributes(lineMarkerInfo, project, true, newRenderer, context, true, true));
|
||||
|
||||
MarkupEditorFilter editorFilter = info.getEditorFilter();
|
||||
MarkupEditorFilter editorFilter = lineMarkerInfo.getEditorFilter();
|
||||
if (editorFilter != MarkupEditorFilter.EMPTY) {
|
||||
highlighter.setEditorFilter(editorFilter);
|
||||
}
|
||||
@@ -120,16 +120,21 @@ final class LineMarkersUtil {
|
||||
list.remove(highlighter);
|
||||
LineMarkerInfo.LineMarkerGutterIconRenderer<?> oldRenderer = highlighter.getGutterIconRenderer() instanceof LineMarkerInfo.LineMarkerGutterIconRenderer<?> line ? line : null;
|
||||
boolean rendererChanged = newRenderer == null || !newRenderer.equals(oldRenderer);
|
||||
boolean lineSeparatorColorChanged = !Comparing.equal(highlighter.getLineSeparatorColor(), info.separatorColor);
|
||||
boolean lineSeparatorPlacementChanged = !Comparing.equal(highlighter.getLineSeparatorPlacement(), info.separatorPlacement);
|
||||
boolean lineSeparatorColorChanged = !Comparing.equal(highlighter.getLineSeparatorColor(), lineMarkerInfo.separatorColor);
|
||||
boolean lineSeparatorPlacementChanged = !Comparing.equal(highlighter.getLineSeparatorPlacement(), lineMarkerInfo.separatorPlacement);
|
||||
|
||||
if (rendererChanged || lineSeparatorColorChanged || lineSeparatorPlacementChanged) {
|
||||
markupModel.changeAttributesInBatch(highlighter, changeAttributes(info, project, rendererChanged, newRenderer, context, lineSeparatorColorChanged, lineSeparatorPlacementChanged));
|
||||
markupModel.changeAttributesInBatch(highlighter, changeAttributes(lineMarkerInfo, project, rendererChanged, newRenderer, context, lineSeparatorColorChanged, lineSeparatorPlacementChanged));
|
||||
}
|
||||
HighlightingNecromancer.unmarkZombieMarkup(highlighter);
|
||||
}
|
||||
highlighter.putUserData(LINE_MARKER_INFO, info);
|
||||
info.highlighter = highlighter;
|
||||
|
||||
if (LOG.isDebugEnabled()) {
|
||||
LOG.debug("LineMarkersUtil.createOrReuseLineMarker. lineMarkerInfo: " + lineMarkerInfo + "; highlighter: " + highlighter);
|
||||
}
|
||||
|
||||
highlighter.putUserData(LINE_MARKER_INFO, lineMarkerInfo);
|
||||
lineMarkerInfo.highlighter = highlighter;
|
||||
}
|
||||
|
||||
private static @NotNull Consumer<RangeHighlighterEx> changeAttributes(@NotNull LineMarkerInfo<?> info,
|
||||
|
||||
Reference in New Issue
Block a user