From d53d3825df90415d18be4d7bff2d3662aa9293d2 Mon Sep 17 00:00:00 2001 From: Dmitry Batrak Date: Mon, 23 Aug 2021 15:42:53 +0300 Subject: [PATCH] IDEA-276588 InlayModel interface doesn't expose hasAfterLineEndElements GitOrigin-RevId: be5255451b711b5710af89ad6777964bc9ac9161 --- .../src/com/intellij/openapi/editor/InlayModel.java | 7 +++++++ .../com/intellij/openapi/editor/impl/InlayModelImpl.java | 1 + 2 files changed, 8 insertions(+) diff --git a/platform/editor-ui-api/src/com/intellij/openapi/editor/InlayModel.java b/platform/editor-ui-api/src/com/intellij/openapi/editor/InlayModel.java index 0b35b20a7dfd..433fdaff6d71 100644 --- a/platform/editor-ui-api/src/com/intellij/openapi/editor/InlayModel.java +++ b/platform/editor-ui-api/src/com/intellij/openapi/editor/InlayModel.java @@ -238,6 +238,13 @@ public interface InlayModel { @NotNull List> getAfterLineEndElementsForLogicalLine(int logicalLine); + /** + * Tells whether there exists at least one after-line-end element currently. + */ + default boolean hasAfterLineEndElements() { + return !getAfterLineEndElementsInRange(0, Integer.MAX_VALUE).isEmpty(); + } + /** * When text is inserted at inline element's offset, resulting element's position is determined by its * {@link InlayProperties#relatesToPrecedingText(boolean)} property. But to enable natural editing experience around inline elements diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/InlayModelImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/InlayModelImpl.java index d394f8582fc9..4bffe0482f10 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/InlayModelImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/InlayModelImpl.java @@ -493,6 +493,7 @@ public final class InlayModelImpl implements InlayModel, PrioritizedDocumentList return (List)result; } + @Override public boolean hasAfterLineEndElements() { return myAfterLineEndElementsTree.size() > 0; }