diff --git a/pkl-formatter/src/test/files/FormatterSnippetTests/input/comma-termination.pkl b/pkl-formatter/src/test/files/FormatterSnippetTests/input/comma-termination.pkl index a9637590..6a110348 100644 --- a/pkl-formatter/src/test/files/FormatterSnippetTests/input/comma-termination.pkl +++ b/pkl-formatter/src/test/files/FormatterSnippetTests/input/comma-termination.pkl @@ -14,3 +14,5 @@ trailingCommaInLambdas = (fooooooooooooooooooooooooooooooooo, baaaaaaaaaaaaaaaaa trailingCommaInConstraints: String(isSomethingSomethingSomething, isSomethingElse, isSomethingSomethingSomethingElse) trailingCommaInTypeParameters: Mapping + +functionType: (ReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongType, ReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongType2,) -> String diff --git a/pkl-formatter/src/test/files/FormatterSnippetTests/output/comma-termination.pkl b/pkl-formatter/src/test/files/FormatterSnippetTests/output/comma-termination.pkl index ef383e42..269a5923 100644 --- a/pkl-formatter/src/test/files/FormatterSnippetTests/output/comma-termination.pkl +++ b/pkl-formatter/src/test/files/FormatterSnippetTests/output/comma-termination.pkl @@ -33,3 +33,9 @@ trailingCommaInTypeParameters: Mapping< SomethingSomethingSomethingSomething, SomethingSomething | SomethingElse, > + +functionType: ( + ReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongType, + ReaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalyLongType2, +) -> + String diff --git a/pkl-parser/src/main/java/org/pkl/parser/GenericParser.java b/pkl-parser/src/main/java/org/pkl/parser/GenericParser.java index 44362d84..4738b9c3 100644 --- a/pkl-parser/src/main/java/org/pkl/parser/GenericParser.java +++ b/pkl-parser/src/main/java/org/pkl/parser/GenericParser.java @@ -1169,7 +1169,11 @@ public class GenericParser { elements.add(parseType(")")); ff(elements); while (lookahead == Token.COMMA) { - elements.add(makeTerminal(next())); + var comma = next(); + if (lookahead == Token.RPAREN) { + break; + } + elements.add(makeTerminal(comma)); ff(elements); elements.add(parseType(")")); totalTypes++;