From db800d4521a0ad54b84a0aac0257b3829b04358e Mon Sep 17 00:00:00 2001 From: Islon Scherer Date: Thu, 30 Oct 2025 17:06:09 +0100 Subject: [PATCH] Fix trailing lambda ending wrap (#1274) --- .../src/main/kotlin/org/pkl/formatter/Builder.kt | 4 ++-- .../input/method-call-trailing-lambdas.pkl | 3 +++ .../output/method-call-trailing-lambdas.pkl | 8 ++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/pkl-formatter/src/main/kotlin/org/pkl/formatter/Builder.kt b/pkl-formatter/src/main/kotlin/org/pkl/formatter/Builder.kt index 94fd0bef..8d039988 100644 --- a/pkl-formatter/src/main/kotlin/org/pkl/formatter/Builder.kt +++ b/pkl-formatter/src/main/kotlin/org/pkl/formatter/Builder.kt @@ -606,11 +606,11 @@ internal class Builder(sourceText: String, private val grammarVersion: GrammarVe val trailingNode = if (endsWithClosingBracket(children[splitIndex])) Empty else line() val lastNodes = formatGeneric(lastParam, spaceOrLine()) if (normalParams.isEmpty()) { - nodes(Group(newId(), lastNodes), trailingNode) + group(Group(newId(), lastNodes), trailingNode) } else { val separator = getSeparator(normalParams.last(), lastParam[0], Space) val paramNodes = formatGeneric(normalParams, spaceOrLine()) - nodes(Group(newId(), paramNodes), separator, Group(newId(), lastNodes), trailingNode) + group(Group(newId(), paramNodes), separator, Group(newId(), lastNodes), trailingNode) } } else { Indent(formatGeneric(children, spaceOrLine())) diff --git a/pkl-formatter/src/test/files/FormatterSnippetTests/input/method-call-trailing-lambdas.pkl b/pkl-formatter/src/test/files/FormatterSnippetTests/input/method-call-trailing-lambdas.pkl index c1d8759d..8da81f2a 100644 --- a/pkl-formatter/src/test/files/FormatterSnippetTests/input/method-call-trailing-lambdas.pkl +++ b/pkl-formatter/src/test/files/FormatterSnippetTests/input/method-call-trailing-lambdas.pkl @@ -16,3 +16,6 @@ res4 = foo.foldLeft( (elem) -> elem.foooooooooooooooooooooooooooooooooooooooooooooooooooo ) +res5 = ifNonNull((it) -> someFunctionCall(it as SomeReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongTypeName)) + +res6 = ifNonNull((it) -> someFunctionCall(it as SomeReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongTypeNameLonger)) diff --git a/pkl-formatter/src/test/files/FormatterSnippetTests/output/method-call-trailing-lambdas.pkl b/pkl-formatter/src/test/files/FormatterSnippetTests/output/method-call-trailing-lambdas.pkl index e5c55402..376c97d3 100644 --- a/pkl-formatter/src/test/files/FormatterSnippetTests/output/method-call-trailing-lambdas.pkl +++ b/pkl-formatter/src/test/files/FormatterSnippetTests/output/method-call-trailing-lambdas.pkl @@ -17,3 +17,11 @@ res4 = foo.foldLeft("heeeeeeelloooooooooooooooooooooooooooooooooooooooooooooo", (elem) -> elem.foooooooooooooooooooooooooooooooooooooooooooooooooooo ) + +res5 = + ifNonNull((it) -> someFunctionCall(it as SomeReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongTypeName)) + +res6 = + ifNonNull((it) -> + someFunctionCall(it as SomeReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongTypeNameLonger) + )