Skip to content

Commit

Permalink
FormatOps: generic getBinPackSiteFlags overload
Browse files Browse the repository at this point in the history
  • Loading branch information
kitbellew committed Sep 25, 2024
1 parent 3112829 commit d33076b
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2727,19 +2727,45 @@ class FormatOps(
beforeClose.exists(rightIsCloseDelimToAddTrailingComma(_, closeFt))
}

def getBinpackDefnSiteFlags(
ftAfterOpen: => FormatToken,
ftBeforeClose: FormatToken,
)(implicit
style: ScalafmtConfig,
clauseSiteFlags: ClauseSiteFlags,
): BinpackSiteFlags =
getBinpackSiteFlags(ftAfterOpen, ftBeforeClose, literalArgList = false)

def getBinpackCallSiteFlags(
ftAfterOpen: FormatToken,
ftBeforeClose: FormatToken,
)(implicit style: ScalafmtConfig, clauseSiteFlags: ClauseSiteFlags) = {
)(implicit
style: ScalafmtConfig,
clauseSiteFlags: ClauseSiteFlags,
): BinpackSiteFlags = {
val literalArgList = styleMap.opensLiteralArgumentList(ftAfterOpen)
getBinpackSiteFlags(ftAfterOpen, ftBeforeClose, literalArgList)
}

def getBinpackSiteFlags(
defnSite: Boolean,
ftAfterOpen: FormatToken,
ftBeforeClose: FormatToken,
)(implicit
style: ScalafmtConfig,
clauseSiteFlags: ClauseSiteFlags,
): BinpackSiteFlags =
if (defnSite) getBinpackDefnSiteFlags(ftAfterOpen, ftBeforeClose)
else getBinpackCallSiteFlags(ftAfterOpen, ftBeforeClose)

def getBinpackSiteFlags(
getFtAfterOpen: => FormatToken,
ftBeforeClose: FormatToken,
literalArgList: Boolean,
)(implicit style: ScalafmtConfig, clauseSiteFlags: ClauseSiteFlags) = {
)(implicit
style: ScalafmtConfig,
clauseSiteFlags: ClauseSiteFlags,
): BinpackSiteFlags = {
implicit val configStyle = clauseSiteFlags.configStyle
val configStylePrefer = configStyle.prefer
val shouldDangle = dangleCloseDelim
Expand All @@ -2763,7 +2789,8 @@ class FormatOps(
}
}

def nlOpenClose(): (Boolean, NlClosedOnOpen) =
def nlOpenClose(): (Boolean, NlClosedOnOpen) = {
val ftAfterOpen = getFtAfterOpen
if (!literalArgList && mustForceConfigStyle(ftAfterOpen))
(true, NlClosedOnOpen.Cfg)
else {
Expand Down Expand Up @@ -2791,6 +2818,7 @@ class FormatOps(
(nlBothIncludingCfg || nlOpenExcludingCfg, dangle)
}
}
}

BinpackSiteFlags(
literalArgList = literalArgList,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1112,8 +1112,7 @@ class Router(formatOps: FormatOps) {
if (noNeed) None else findFirstOnRight[T.Comma](getLast(x), close)
}

val flags =
getBinpackSiteFlags(ft, prev(afterClose), literalArgList = false)
val flags = getBinpackDefnSiteFlags(ft, prev(afterClose))
val (nlOnly, nlCloseOnOpen) = flags.nlOpenClose()
val noNLPolicy = flags.noNLPolicy
val slbOrNL = nlOnly || noNLPolicy == null
Expand Down

0 comments on commit d33076b

Please sign in to comment.