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 7d276ac8e875..99c925238394 100644 --- a/platform/platform-api/src/com/intellij/openapi/editor/GenericLineWrapPositionStrategy.java +++ b/platform/platform-api/src/com/intellij/openapi/editor/GenericLineWrapPositionStrategy.java @@ -78,8 +78,14 @@ public class GenericLineWrapPositionStrategy implements LineWrapPositionStrategy Rule rule = myRules.get(c); if (rule != null) { if (rule.condition == WrapCondition.BOTH || rule.condition == WrapCondition.AFTER) { - if (i < maxPreferredOffsetToUse) { - offset2Weight.put(i + 1, rule.weight); + int target = i+1; + if (rule.symbol != ' ') { + while(i < maxPreferredOffsetToUse && text.charAt(target) == ' ') { + target++; + } + } + if (target <= maxPreferredOffsetToUse) { + offset2Weight.put(target, rule.weight); } } diff --git a/platform/platform-api/testSrc/com/intellij/openapi/editor/DefaultLineWrapPositionStrategyTest.java b/platform/platform-api/testSrc/com/intellij/openapi/editor/DefaultLineWrapPositionStrategyTest.java index 5c3f16b91bde..ef976fcabb96 100644 --- a/platform/platform-api/testSrc/com/intellij/openapi/editor/DefaultLineWrapPositionStrategyTest.java +++ b/platform/platform-api/testSrc/com/intellij/openapi/editor/DefaultLineWrapPositionStrategyTest.java @@ -53,7 +53,7 @@ public class DefaultLineWrapPositionStrategyTest { @Test public void preferWrapOnComma() { String document = - "int variable = testMethod(var1 + var2, var3 + var4);"; + "int variable = testMethod(var1 + var2, var3 + var4);"; doTest(document); }