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; }