diff --git a/ChangeLog.md b/ChangeLog.md index dc42df04187..067b5cd3e82 100644 --- a/ChangeLog.md +++ b/ChangeLog.md @@ -43,6 +43,7 @@ Issues fixed: - [KT-10950](https://youtrack.jetbrains.com/issue/KT-10950) Keep original file package name when moving top-level declarations to separate file (provided it's not ambiguous) - [KT-10174](https://youtrack.jetbrains.com/issue/KT-10174) Optimize imports after applying "Move declaration to separate file" intention - [KT-12035](https://youtrack.jetbrains.com/issue/KT-12035) Auto-format cast expressions +- [KT-12018](https://youtrack.jetbrains.com/issue/KT-12018) Auto-format spaces between function name and arguments in infix calls #### Debugger 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 38704c29a19..4554372d796 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt @@ -165,6 +165,7 @@ fun createSpacingBuilder(settings: CodeStyleSettings, builderUtil: KotlinSpacing afterInside(IDENTIFIER, FUN).spacing(0, 0, 0, false, 0) around(AS_KEYWORD).spaces(1) + aroundInside(IDENTIFIER, BINARY_EXPRESSION).spaces(1) // before LPAR in constructor(): this() {} after(CONSTRUCTOR_DELEGATION_REFERENCE).spacing(0, 0, 0, false, 0) diff --git a/idea/testData/formatter/InfixCall.after.kt b/idea/testData/formatter/InfixCall.after.kt new file mode 100644 index 00000000000..8377c8c1389 --- /dev/null +++ b/idea/testData/formatter/InfixCall.after.kt @@ -0,0 +1,3 @@ +fun foo() { + val a = 1 shl 2 +} \ No newline at end of file diff --git a/idea/testData/formatter/InfixCall.kt b/idea/testData/formatter/InfixCall.kt new file mode 100644 index 00000000000..f8a07faf7d5 --- /dev/null +++ b/idea/testData/formatter/InfixCall.kt @@ -0,0 +1,3 @@ +fun foo() { + val a = 1 shl 2 +} \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/parameters/misc/addPrefixToBackticks.kt.after b/idea/testData/refactoring/extractFunction/parameters/misc/addPrefixToBackticks.kt.after index 5d6cdd5668a..3e800ce1ab8 100644 --- a/idea/testData/refactoring/extractFunction/parameters/misc/addPrefixToBackticks.kt.after +++ b/idea/testData/refactoring/extractFunction/parameters/misc/addPrefixToBackticks.kt.after @@ -12,5 +12,5 @@ class Y(val y: Int) { } private fun __dummyTestFun__(x1: X, y1: Y) { - x1.`x`plus y1.y + x1.`x` plus y1.y } \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/parameters/misc/idWithBackticks.kt.after b/idea/testData/refactoring/extractFunction/parameters/misc/idWithBackticks.kt.after index 3bda48a1406..38791cb69b7 100644 --- a/idea/testData/refactoring/extractFunction/parameters/misc/idWithBackticks.kt.after +++ b/idea/testData/refactoring/extractFunction/parameters/misc/idWithBackticks.kt.after @@ -6,5 +6,5 @@ fun test() { } private fun __dummyTestFun__(`i`: Int) { - `i`plus i + `i` plus i } \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/parameters/misc/idWithRequiredBackticks.kt.after b/idea/testData/refactoring/extractFunction/parameters/misc/idWithRequiredBackticks.kt.after index c18d5704c85..51c1f596f9c 100644 --- a/idea/testData/refactoring/extractFunction/parameters/misc/idWithRequiredBackticks.kt.after +++ b/idea/testData/refactoring/extractFunction/parameters/misc/idWithRequiredBackticks.kt.after @@ -6,5 +6,5 @@ fun test() { } private fun __dummyTestFun__(`0`: Int) { - `0`plus 1 + `0` plus 1 } \ No newline at end of file diff --git a/idea/testData/refactoring/extractFunction/parameters/misc/replaceWithBackticks.kt.after b/idea/testData/refactoring/extractFunction/parameters/misc/replaceWithBackticks.kt.after index 944d1e7b4b4..c5592759594 100644 --- a/idea/testData/refactoring/extractFunction/parameters/misc/replaceWithBackticks.kt.after +++ b/idea/testData/refactoring/extractFunction/parameters/misc/replaceWithBackticks.kt.after @@ -6,5 +6,5 @@ fun test() { } private fun __dummyTestFun__(i: Int) { - `i`plus i + `i` plus i } \ No newline at end of file diff --git a/idea/tests/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java b/idea/tests/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java index 462325de902..5aa9b7bd260 100644 --- a/idea/tests/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java +++ b/idea/tests/org/jetbrains/kotlin/formatter/FormatterTestGenerated.java @@ -343,6 +343,12 @@ public class FormatterTestGenerated extends AbstractFormatterTest { doTest(fileName); } + @TestMetadata("InfixCall.after.kt") + public void testInfixCall() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("idea/testData/formatter/InfixCall.after.kt"); + doTest(fileName); + } + @TestMetadata("KDoc.after.kt") public void testKDoc() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("idea/testData/formatter/KDoc.after.kt");