diff --git a/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/IndentOptionsDetectorImpl.java b/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/IndentOptionsDetectorImpl.java index 181fc9fb3817..553ef7751e99 100644 --- a/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/IndentOptionsDetectorImpl.java +++ b/platform/lang-impl/src/com/intellij/psi/codeStyle/autodetect/IndentOptionsDetectorImpl.java @@ -99,8 +99,7 @@ public class IndentOptionsDetectorImpl implements IndentOptionsDetector { } if (maxUsedIndentSize <= MAX_INDENT_TO_DETECT) { - int totalUsagesWithoutZeroIndent = stats.getTotalLinesWithLeadingSpaces() - stats.getTimesIndentUsed(0); - double usageRate = (double)maxUsedIndentInfo.getTimesUsed() / totalUsagesWithoutZeroIndent; + double usageRate = (double)maxUsedIndentInfo.getTimesUsed() / stats.getTotalLinesWithLeadingSpaces(); if (usageRate > RATE_THRESHOLD) { return maxUsedIndentSize; } diff --git a/platform/platform-tests/testData/codeStyle/autodetect/manyZeroIndents.java b/platform/platform-tests/testData/codeStyle/autodetect/manyZeroIndents.java new file mode 100644 index 000000000000..44fa2dd9e3e7 --- /dev/null +++ b/platform/platform-tests/testData/codeStyle/autodetect/manyZeroIndents.java @@ -0,0 +1,24 @@ +# Assignment: +number = 42 +opposite = true + +# Conditions: +number = -42 if opposite + +# Functions: +square = (x) -> x * x + +# Arrays: +list = [1, 2, 3, 4, 5] + +# Objects: +math = + root: Math.sqrt + square: square + cube: (x) -> x * square x + +# Existence: +alert "I knew it!" if elvis? + +# Array comprehensions: +cubes = (math.cube num for num in list) \ No newline at end of file diff --git a/platform/platform-tests/testSrc/com/intellij/psi/autodetect/IndentAutoDetectionTest.java b/platform/platform-tests/testSrc/com/intellij/psi/autodetect/IndentAutoDetectionTest.java index ce395c8aacd2..38a46a9328d8 100644 --- a/platform/platform-tests/testSrc/com/intellij/psi/autodetect/IndentAutoDetectionTest.java +++ b/platform/platform-tests/testSrc/com/intellij/psi/autodetect/IndentAutoDetectionTest.java @@ -74,6 +74,8 @@ public class IndentAutoDetectionTest extends LightPlatformCodeInsightTestCase { doTestIndentSize(4); } + public void testManyZeroIndents() { doTestIndentSize(2); } + public void testSpacesToNumbers() throws Exception { String text = " i\n" + " a\n" +