diff --git a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt index 4585528addd..047f1eb53e2 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt @@ -197,6 +197,11 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing before(COMMA).spaceIf(kotlinCommonSettings.SPACE_BEFORE_COMMA) after(COMMA).spaceIf(kotlinCommonSettings.SPACE_AFTER_COMMA) + + val spacesAroundAssignment = if (kotlinCommonSettings.SPACE_AROUND_ASSIGNMENT_OPERATORS) 1 else 0 + beforeInside(EQ, PROPERTY).spacing(spacesAroundAssignment, spacesAroundAssignment, 0, false, 0) + beforeInside(EQ, FUN).spacing(spacesAroundAssignment, spacesAroundAssignment, 0, false, 0) + around(TokenSet.create(EQ, MULTEQ, DIVEQ, PLUSEQ, MINUSEQ, PERCEQ)).spaceIf(kotlinCommonSettings.SPACE_AROUND_ASSIGNMENT_OPERATORS) around(TokenSet.create(ANDAND, OROR)).spaceIf(kotlinCommonSettings.SPACE_AROUND_LOGICAL_OPERATORS) around(TokenSet.create(EQEQ, EXCLEQ, EQEQEQ, EXCLEQEQEQ)).spaceIf(kotlinCommonSettings.SPACE_AROUND_EQUALITY_OPERATORS) diff --git a/idea/testData/formatter/PropertyInitializerLineBreak.after.kt b/idea/testData/formatter/PropertyInitializerLineBreak.after.kt new file mode 100644 index 00000000000..f5b73e7faec --- /dev/null +++ b/idea/testData/formatter/PropertyInitializerLineBreak.after.kt @@ -0,0 +1,6 @@ +val x: Int = 1 + +fun foo() = 1 + +fun bar() = + 1 diff --git a/idea/testData/formatter/PropertyInitializerLineBreak.kt b/idea/testData/formatter/PropertyInitializerLineBreak.kt new file mode 100644 index 00000000000..c2f3752f400 --- /dev/null +++ b/idea/testData/formatter/PropertyInitializerLineBreak.kt @@ -0,0 +1,8 @@ +val x: Int + = 1 + +fun foo() + = 1 + +fun bar() = + 1 diff --git a/idea/tests/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java b/idea/tests/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java index 997df135094..e577473e310 100644 --- a/idea/tests/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java @@ -662,6 +662,12 @@ public class FormatterTestGenerated extends AbstractFormatterTest { doTest(fileName); } + @TestMetadata("PropertyInitializerLineBreak.after.kt") + public void testPropertyInitializerLineBreak() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/formatter/PropertyInitializerLineBreak.after.kt"); + doTest(fileName); + } + @TestMetadata("PropertyTypeParameterList.after.kt") public void testPropertyTypeParameterList() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/formatter/PropertyTypeParameterList.after.kt");