diff --git a/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java b/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java index f4f6e76756d..4d57c43fe6d 100644 --- a/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java +++ b/idea/src/org/jetbrains/jet/plugin/formatter/JetFormattingModelBuilder.java @@ -73,8 +73,10 @@ public class JetFormattingModelBuilder implements FormattingModelBuilder { .around(TokenSet.create(EQEQ, EXCLEQ, EQEQEQ, EXCLEQEQEQ)).spaceIf(jetCommonSettings.SPACE_AROUND_EQUALITY_OPERATORS) .aroundInside(TokenSet.create(LT, GT, LTEQ, GTEQ), BINARY_EXPRESSION).spaceIf(jetCommonSettings.SPACE_AROUND_RELATIONAL_OPERATORS) .aroundInside(TokenSet.create(PLUS, MINUS), BINARY_EXPRESSION).spaceIf(jetCommonSettings.SPACE_AROUND_ADDITIVE_OPERATORS) - .aroundInside(TokenSet.create(MUL, DIV, PERC), BINARY_EXPRESSION).spaceIf(jetCommonSettings.SPACE_AROUND_MULTIPLICATIVE_OPERATORS) - .around(TokenSet.create(PLUSPLUS, MINUSMINUS, EXCLEXCL, MINUS, PLUS, EXCL)).spaceIf(jetCommonSettings.SPACE_AROUND_UNARY_OPERATOR) + .aroundInside(TokenSet.create(MUL, DIV, PERC), BINARY_EXPRESSION).spaceIf( + jetCommonSettings.SPACE_AROUND_MULTIPLICATIVE_OPERATORS) + .around(TokenSet.create(PLUSPLUS, MINUSMINUS, EXCLEXCL, MINUS, PLUS, EXCL)).spaceIf( + jetCommonSettings.SPACE_AROUND_UNARY_OPERATOR) .around(RANGE).spaceIf(jetSettings.SPACE_AROUND_RANGE) .beforeInside(BLOCK, FUN).spaceIf(jetCommonSettings.SPACE_BEFORE_METHOD_LBRACE) @@ -118,6 +120,9 @@ public class JetFormattingModelBuilder implements FormattingModelBuilder { .aroundInside(ARROW, FUNCTION_TYPE).spaceIf(jetSettings.SPACE_AROUND_FUNCTION_TYPE_ARROW) .betweenInside(REFERENCE_EXPRESSION, FUNCTION_LITERAL_EXPRESSION, CALL_EXPRESSION).spaces(1) + + .aroundInside(ELSE_KEYWORD, IF).spaces(1) + .betweenInside(RPAR, THEN, IF).spaces(1) ; } diff --git a/idea/testData/formatter/IfSpacing.after.kt b/idea/testData/formatter/IfSpacing.after.kt index 844919a3500..0545f1d5691 100644 --- a/idea/testData/formatter/IfSpacing.after.kt +++ b/idea/testData/formatter/IfSpacing.after.kt @@ -5,4 +5,31 @@ fun f() { } if (1 == 2) { } + + if (true) { + } + else { + } + + if (true) { + } else { + } + + if (true) { + } else { + } + + if (true) + { + } + else + { + } + + if (true) + { + } + + else + 3 > 2 } \ No newline at end of file diff --git a/idea/testData/formatter/IfSpacing.kt b/idea/testData/formatter/IfSpacing.kt index da0c59d01cf..4942802e196 100644 --- a/idea/testData/formatter/IfSpacing.kt +++ b/idea/testData/formatter/IfSpacing.kt @@ -1,9 +1,36 @@ fun f() { - if (1 == 2) { + if (1 == 2) { } if(1 == 2) { } if (1 == 2) { } + + if (true) { + } + else{ + } + + if (true){ + }else{ + } + + if (true) { + } else { + } + + if (true) + { + } + else + { + } + + if (true) + { + } + + else + 3 > 2 } \ No newline at end of file