From 96d70b8eef6d76a90e469d4067cf106110b46efd Mon Sep 17 00:00:00 2001 From: Albert Meltzer <7529386+kitbellew@users.noreply.github.com> Date: Thu, 9 Dec 2021 15:22:45 -0800 Subject: [PATCH] FormatOps: single-line infix until op, not lhs --- .../main/scala/org/scalafmt/internal/FormatOps.scala | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatOps.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatOps.scala index 7e574c95cf..e7ec0218f1 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatOps.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatOps.scala @@ -1745,10 +1745,14 @@ class FormatOps( case _ => getSlbSplits() } case InfixApp(ia) => - val left = findLeftInfix(ia).lhs - val (callPolicy, isCallSite) = CallSite.getFoldedPolicies(left) + val lia = findLeftInfix(ia) + val (callPolicy, isCallSite) = CallSite.getFoldedPolicies(lia.lhs) if (isCallSite) getPolicySplits(0, callPolicy) - else getSplits(getSlbSplit(getLastToken(left))) + else { + val lp = body.tokens.headOption.filter(_.is[T.LeftParen]) + val ok = lp.flatMap(matchingOpt).exists(_.end >= lia.op.pos.end) + getSplits(getSlbSplit(getLastToken(if (ok) lia.lhs else lia.op))) + } case _ => val (callPolicy, isCallSite) = CallSite.getFoldedPolicies(body) getPolicySplits(if (isCallSite) 0 else 1, callPolicy)