diff --git a/.scalafmt.conf b/.scalafmt.conf index f85df46de7..c25f615e0d 100644 --- a/.scalafmt.conf +++ b/.scalafmt.conf @@ -14,7 +14,7 @@ align { stripMargin = true } newlines { - avoidForSimpleOverflow = [punct, slc, tooLong] + avoidForSimpleOverflow = all ignoreInSyntax = false source = fold } @@ -40,8 +40,10 @@ rewrite { ] } redundantBraces { - ifElseExpressions = true - stringInterpolation = true + preset = all + } + redundantParens { + preset = all } sortModifiers.preset = styleGuide trailingCommas.style = "always" diff --git a/scalafmt-cli/shared/src/main/scala/org/scalafmt/cli/Cli.scala b/scalafmt-cli/shared/src/main/scala/org/scalafmt/cli/Cli.scala index 5e7ccb1829..4828a711d3 100644 --- a/scalafmt-cli/shared/src/main/scala/org/scalafmt/cli/Cli.scala +++ b/scalafmt-cli/shared/src/main/scala/org/scalafmt/cli/Cli.scala @@ -62,7 +62,7 @@ object Cli extends CliUtils { } private val isNative: Boolean = isScalaNative || - ("true" == System.getProperty("scalafmt.native-image", "false")) + "true" == System.getProperty("scalafmt.native-image", "false") private def getProposedConfigVersion(options: CliOptions): String = s"version = $stableVersion" diff --git a/scalafmt-cli/shared/src/main/scala/org/scalafmt/cli/TermDisplay.scala b/scalafmt-cli/shared/src/main/scala/org/scalafmt/cli/TermDisplay.scala index 8ea453198f..2d30c5b629 100644 --- a/scalafmt-cli/shared/src/main/scala/org/scalafmt/cli/TermDisplay.scala +++ b/scalafmt-cli/shared/src/main/scala/org/scalafmt/cli/TermDisplay.scala @@ -102,7 +102,7 @@ object TermDisplay extends TermUtils { assert(decile <= 10) fraction.fold(" " * 6)(p => f"${100.0 * p}%5.1f%%") + " [" + - ("#" * decile) + (" " * (10 - decile)) + "] " + downloaded + + "#" * decile + " " * (10 - decile) + "] " + downloaded + " source files formatted" } } @@ -193,7 +193,7 @@ object TermDisplay extends TermUtils { val info = infos.remove(url) - if (success) doneQueue += (url -> update0(info)) + if (success) doneQueue += url -> update0(info) } if (fallbackMode && success) { @@ -229,7 +229,7 @@ object TermDisplay extends TermUtils { val extra0 = if (extra.length > baseExtraWidth) extra - .take((baseExtraWidth.max(extra.length - overflow)) - 1) + "…" + .take(baseExtraWidth.max(extra.length - overflow) - 1) + "…" else extra val total0 = url.length + 1 + extra0.length @@ -237,7 +237,7 @@ object TermDisplay extends TermUtils { val url0 = if (total0 >= width) url.take( - ((width - baseExtraWidth - 1).max(url.length - overflow0)) - 1, + (width - baseExtraWidth - 1).max(url.length - overflow0) - 1, ) + "…" else url diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/BestFirstSearch.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/BestFirstSearch.scala index 20c72dabeb..8b867bd700 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/BestFirstSearch.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/BestFirstSearch.scala @@ -51,7 +51,7 @@ private class BestFirstSearch private (range: Set[Range])(implicit depth: Int, isOpt: Boolean, ): Option[Option[State]] = { - val key = (start.indentation & 0xffL) | (start.column & 0xffffffL) << 8 | + val key = start.indentation & 0xffL | (start.column & 0xffffffL) << 8 | (start.depth & 0xffffffffL) << 32 def orElse = if (isOpt) Some(None) // we wouldn't recurse unless the span was large 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 48cef6a73d..7642645ff3 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 @@ -656,7 +656,7 @@ class FormatOps( infixes.foreach { ia => val cost = maxPrecedence - ia.precedence if (cost < minCost) { - out += (getMidInfixToken(ia) -> cost) + out += getMidInfixToken(ia) -> cost minCost = cost } } @@ -1973,7 +1973,7 @@ class FormatOps( // https://dotty.epfl.ch/docs/internals/syntax.html (tf.paramClause match { // LambdaStart case tpc @ Term.ParamClause(tp :: Nil, mod) => - (mod.isEmpty && tp.mods.isEmpty && tp.decltpe.isEmpty) || + mod.isEmpty && tp.mods.isEmpty && tp.decltpe.isEmpty || isEnclosedWithinParens(tpc) case _ => true // multiple params are always in parens }) => @@ -2000,7 +2000,7 @@ class FormatOps( okRightBrace: => Boolean, ) = if ( - (nft.right.is[T.LeftBrace] && (nft.meta.rightOwner eq tb)) || + nft.right.is[T.LeftBrace] && (nft.meta.rightOwner eq tb) || tb.pos.start > nft.right.start ) None else Some(new OptionalBracesRegion { diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatTokens.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatTokens.scala index 6368110cfb..19ea06f77a 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatTokens.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatTokens.scala @@ -66,7 +66,7 @@ class FormatTokens(leftTok2tok: Map[TokenHash, Int])(val arr: Array[FT]) def apply(ft: FT, off: Int): FT = at(ft.meta.idx + off) @inline - def hasNext(ft: FT): Boolean = ft.meta.idx < (arr.length - 1) + def hasNext(ft: FT): Boolean = ft.meta.idx < arr.length - 1 @inline def hasPrev(ft: FT): Boolean = ft.meta.idx > 0 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 77982ce57d..869e8ee7a2 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 @@ -1106,9 +1106,9 @@ class Router(formatOps: FormatOps) { .withIndents(extraOneArgPerLineIndent, indent), ) else { - val useOneArgPerLineSplit = (notTooManyArgs && align) || - (handleImplicit && - style.newlines.notBeforeImplicitParamListModifier) + val useOneArgPerLineSplit = notTooManyArgs && align || + handleImplicit && + style.newlines.notBeforeImplicitParamListModifier val slbSplit = if (mustDangleForTrailingCommas) Split.ignored else { diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/State.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/State.scala index 8c512eb6b1..923ab1b325 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/State.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/State.scala @@ -131,7 +131,7 @@ final class State( def trailing = nextTok.hasBreak // newline after comment if (nextSplit.isNL) { // newline before comment val rtext = tok.meta.right.text - if (rtext.length >= (style.maxColumn - nextIndent) || trailing) + if (rtext.length >= style.maxColumn - nextIndent || trailing) noOverflowPenalties else overflowPenalties(columnOnCurrentLine) } else if (style.comments.wrap.eq(Comments.Wrap.trailing) && trailing) { diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/util/TokenOps.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/util/TokenOps.scala index 45f37b73a1..3f060b5f32 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/util/TokenOps.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/util/TokenOps.scala @@ -33,8 +33,8 @@ object TokenOps { */ @inline def hash(token: T): TokenHash = { - val longHash: Long = (token.productPrefix.hashCode.toLong << (62 - 8)) | - (token.start.toLong << (62 - (8 + 28))) | token.end + val longHash: Long = token.productPrefix.hashCode.toLong << 62 - 8 | + token.start.toLong << 62 - (8 + 28) | token.end longHash } @@ -77,7 +77,7 @@ object TokenOps { def isSingleLineIfComment(c: T): Boolean = { val off = c.start - (c.end - off) >= 2 && { + c.end - off >= 2 && { val chars = c.input.chars chars(off) == '/' && chars(off + 1) == '/' } diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/util/TokenTraverser.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/util/TokenTraverser.scala index 6c8a6360b8..cbb1b1daf9 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/util/TokenTraverser.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/util/TokenTraverser.scala @@ -16,7 +16,7 @@ class TokenTraverser(tokens: Tokens, input: Input) { if (!formatOff) { if (TokenOps.isFormatOff(tok)) formatOff = true } else if (TokenOps.isFormatOn(tok)) formatOff = false else excluded += TokenOps.hash(tok) - map += (tok -> i) + map += tok -> i i += 1 } if (input.isInstanceOf[Input.Ammonite]) { diff --git a/scalafmt-dynamic/jvm/src/test/scala/org/scalafmt/dynamic/PositionSyntax.scala b/scalafmt-dynamic/jvm/src/test/scala/org/scalafmt/dynamic/PositionSyntax.scala index 490fcf400c..fe789b44d8 100644 --- a/scalafmt-dynamic/jvm/src/test/scala/org/scalafmt/dynamic/PositionSyntax.scala +++ b/scalafmt-dynamic/jvm/src/test/scala/org/scalafmt/dynamic/PositionSyntax.scala @@ -60,7 +60,7 @@ object PositionSyntax { val span = pos.end - pos.start val caret = if (span != 0 && pos.startLine == pos.endLine) "^" * span else "^" - (" " * pos.startColumn) + caret + " " * pos.startColumn + caret } private def lineContent( diff --git a/scalafmt-tests/shared/src/test/scala/org/scalafmt/util/FormatAssertions.scala b/scalafmt-tests/shared/src/test/scala/org/scalafmt/util/FormatAssertions.scala index 2a5d95677b..3477b4dcf0 100644 --- a/scalafmt-tests/shared/src/test/scala/org/scalafmt/util/FormatAssertions.scala +++ b/scalafmt-tests/shared/src/test/scala/org/scalafmt/util/FormatAssertions.scala @@ -87,7 +87,7 @@ trait FormatAssertions { Seq( e.shortMessage, linesBeforeCaret.mkString("\n"), - (" " * e.pos.startColumn) + "^", // arrow + " " * e.pos.startColumn + "^", // arrow linesAfterCaret.mkString("\n"), "====== full result: ======", obtained.stripTrailing(), diff --git a/scalafmt-tests/shared/src/test/scala/org/scalafmt/util/Report.scala b/scalafmt-tests/shared/src/test/scala/org/scalafmt/util/Report.scala index dccde8f43d..d49be3361c 100644 --- a/scalafmt-tests/shared/src/test/scala/org/scalafmt/util/Report.scala +++ b/scalafmt-tests/shared/src/test/scala/org/scalafmt/util/Report.scala @@ -25,7 +25,7 @@ object Report { code( heatmapBar(result.test.style), raw(result.obtainedHtml), - span("\n" + ("‾" * result.test.style.maxColumn)), + span("\n" + "‾" * result.test.style.maxColumn), ), ), ), @@ -36,12 +36,12 @@ object Report { val v = Math.pow(2, i).toInt val color = red(v) span(background := s"rgb(256, $color, $color)", s" $v ") - } :+ span("\n" + ("_" * scalaStyle.maxColumn) + "\n") + } :+ span("\n" + "_" * scalaStyle.maxColumn + "\n") def red(visits: Int): Int = { val v = log(visits, 2) val ratio = v / MaxVisits.toDouble - val result = Math.min(256, 20 + 256 - (ratio * 256)).toInt + val result = Math.min(256, 20 + 256 - ratio * 256).toInt result }