From 67897d9b3df2e861202f043257bdb895f4e97cd9 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Mon, 8 Jan 2018 15:18:09 +0100 Subject: [PATCH] Don't wrap argument list containing anonymous functions Just like for objects and lambdas, don't consider line breaks inside anonymous functions as line breaks inside argument list --- .../jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt | 7 +++++++ idea/testData/formatter/parameterList/KT19727.after.kt | 4 ++++ idea/testData/formatter/parameterList/KT19727.kt | 4 ++++ 3 files changed, 15 insertions(+) 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 4e5ca59e1ce..1544994ccbc 100644 --- a/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt +++ b/idea/formatter/src/org/jetbrains/kotlin/idea/formatter/kotlinSpacingRules.kt @@ -581,6 +581,13 @@ private fun excludeLambdasAndObjects(parent: ASTBlock): List { super.visitObjectLiteralExpression(expression) rangesToExclude.add(expression.textRange) } + + override fun visitNamedFunction(function: KtNamedFunction) { + super.visitNamedFunction(function) + if (function.name == null) { + rangesToExclude.add(function.textRange) + } + } }) return TextRangeUtil.excludeRanges(parent.textRange, rangesToExclude).toList() } diff --git a/idea/testData/formatter/parameterList/KT19727.after.kt b/idea/testData/formatter/parameterList/KT19727.after.kt index 117465d83c9..0b19e2465af 100644 --- a/idea/testData/formatter/parameterList/KT19727.after.kt +++ b/idea/testData/formatter/parameterList/KT19727.after.kt @@ -14,6 +14,10 @@ fun main(args: Array) { println("Hello world") } }) + + useCallable("B", fun() { + println("Hello world") + }) } // SET_TRUE: CALL_PARAMETERS_LPAREN_ON_NEXT_LINE diff --git a/idea/testData/formatter/parameterList/KT19727.kt b/idea/testData/formatter/parameterList/KT19727.kt index 117465d83c9..0b19e2465af 100644 --- a/idea/testData/formatter/parameterList/KT19727.kt +++ b/idea/testData/formatter/parameterList/KT19727.kt @@ -14,6 +14,10 @@ fun main(args: Array) { println("Hello world") } }) + + useCallable("B", fun() { + println("Hello world") + }) } // SET_TRUE: CALL_PARAMETERS_LPAREN_ON_NEXT_LINE