diff --git a/platform/platform-api/src/com/intellij/openapi/editor/GenericLineWrapPositionStrategy.java b/platform/platform-api/src/com/intellij/openapi/editor/GenericLineWrapPositionStrategy.java index c2b014dd4f03..185cebf39684 100644 --- a/platform/platform-api/src/com/intellij/openapi/editor/GenericLineWrapPositionStrategy.java +++ b/platform/platform-api/src/com/intellij/openapi/editor/GenericLineWrapPositionStrategy.java @@ -70,6 +70,10 @@ public class GenericLineWrapPositionStrategy implements LineWrapPositionStrategy return i + 1; } + if (!canUseOffset(document, i, virtual)) { + continue; + } + Rule rule = myRules.get(c); if (rule != null) { if (rule.condition == WrapCondition.BOTH || rule.condition == WrapCondition.AFTER) { @@ -114,6 +118,10 @@ public class GenericLineWrapPositionStrategy implements LineWrapPositionStrategy return i + 1; } + if (!canUseOffset(document, i, virtual)) { + continue; + } + Rule rule = myRules.get(c); if (rule != null) { switch (rule.condition) { @@ -132,6 +140,10 @@ public class GenericLineWrapPositionStrategy implements LineWrapPositionStrategy return -1; } + protected boolean canUseOffset(@NotNull Document document, int offset, boolean virtual) { + return true; + } + /** * Registers given rule with the current strategy. *