diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/Router.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/Router.scala index c19a9c3f77..b1e27a5664 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/Router.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/Router.scala @@ -196,7 +196,13 @@ class Router(formatOps: FormatOps) { case Some(owner: Term.Function) => val arrow = getFuncArrow(lastLambda(owner)) val expire = arrow.getOrElse(tokens(owner.tokens.last)) - val nlOnly = Some(style.newlines.alwaysBeforeCurlyLambdaParams) + val nlOnly = + if (style.newlines.alwaysBeforeCurlyLambdaParams) Some(true) + else if ( + style.newlines.beforeCurlyLambdaParams eq + Newlines.BeforeCurlyLambdaParams.multiline + ) None + else Some(false) (expire, arrow.map(_.left), 0, nlOnly) case Some(t: Case) if t.cond.isEmpty && (leftOwner match { case Term.PartialFunction(List(`t`)) => true @@ -206,8 +212,8 @@ class Router(formatOps: FormatOps) { val nlOnly = if (style.newlines.alwaysBeforeCurlyLambdaParams) Some(true) else if ( - style.newlines.beforeCurlyLambdaParams eq - Newlines.BeforeCurlyLambdaParams.multilineWithCaseOnly + style.newlines.beforeCurlyLambdaParams ne + Newlines.BeforeCurlyLambdaParams.never ) None else Some(false) (arrow, Some(arrow.left), 0, nlOnly) diff --git a/scalafmt-tests/src/test/resources/unit/Lambda.stat b/scalafmt-tests/src/test/resources/unit/Lambda.stat index f2f2e91f16..90b4e0c1e9 100644 --- a/scalafmt-tests/src/test/resources/unit/Lambda.stat +++ b/scalafmt-tests/src/test/resources/unit/Lambda.stat @@ -254,14 +254,15 @@ object a { object a { x.map { x => s"${x._1} -> ${x._2}" } x.map { case (c, i) => s"$c -> $i" } - x.zipWithIndex.map { x => - s"${x._1} -> ${x._2}" + x.zipWithIndex.map { + x => s"${x._1} -> ${x._2}" } - x.zipWithIndex.map { case (c, i) => - s"$c -> $i" + x.zipWithIndex.map { + case (c, i) => s"$c -> $i" } - x.zipWithIndex.map { case (c, i) => - s"$c -> $i (long comment)" + x.zipWithIndex.map { + case (c, i) => + s"$c -> $i (long comment)" } x.zipWithIndex.map { case (c, i) if c != i =>