From 3c960c69c8a695da6614033e0684e9d37945cf30 Mon Sep 17 00:00:00 2001 From: Albert Meltzer <7529386+kitbellew@users.noreply.github.com> Date: Fri, 4 Oct 2024 09:59:33 -0700 Subject: [PATCH] Literals: move Case inside the companion First, it is used only with Literals, and second, it avoids conflicts with scala.meta.Case. --- .../main/scala/org/scalafmt/config/Case.scala | 20 ------------------- .../scala/org/scalafmt/config/Literals.scala | 18 +++++++++++++++++ .../org/scalafmt/internal/FormatWriter.scala | 2 +- .../scala/org/scalafmt/util/LiteralOps.scala | 5 ++--- 4 files changed, 21 insertions(+), 24 deletions(-) delete mode 100644 scalafmt-core/shared/src/main/scala/org/scalafmt/config/Case.scala diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/config/Case.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/config/Case.scala deleted file mode 100644 index cef2480390..0000000000 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/config/Case.scala +++ /dev/null @@ -1,20 +0,0 @@ -package org.scalafmt.config - -import metaconfig.ConfCodecEx - -sealed abstract class Case { - import Case._ - def process(str: String): String = this match { - case Unchanged => str - case Lower => str.toLowerCase() - case Upper => str.toUpperCase() - } -} - -object Case { - implicit val codec: ConfCodecEx[Case] = ReaderUtil - .oneOf[Case](Upper, Lower, Unchanged) - case object Upper extends Case - case object Lower extends Case - case object Unchanged extends Case -} diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/config/Literals.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/config/Literals.scala index b49b86c69c..b7508df480 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/config/Literals.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/config/Literals.scala @@ -1,5 +1,6 @@ package org.scalafmt.config +import Literals.Case import metaconfig._ case class Literals( @@ -16,4 +17,21 @@ object Literals { implicit val surface: generic.Surface[Literals] = generic.deriveSurface implicit val codec: ConfCodecEx[Literals] = generic.deriveCodecEx(Literals()) .noTypos + + sealed abstract class Case { + import Case._ + def process(str: String): String = this match { + case Unchanged => str + case Lower => str.toLowerCase() + case Upper => str.toUpperCase() + } + } + + object Case { + implicit val codec: ConfCodecEx[Case] = ReaderUtil + .oneOf[Case](Upper, Lower, Unchanged) + case object Upper extends Case + case object Lower extends Case + case object Unchanged extends Case + } } diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala index fade4926df..4d073de42c 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/internal/FormatWriter.scala @@ -4,7 +4,7 @@ import org.scalafmt.CompatCollections.JavaConverters._ import org.scalafmt.Error import org.scalafmt.Formatted import org.scalafmt.Scalafmt -import org.scalafmt.config.{Case => _, _} +import org.scalafmt.config._ import org.scalafmt.internal.RegexCompat._ import org.scalafmt.rewrite.RedundantBraces import org.scalafmt.util.LiteralOps diff --git a/scalafmt-core/shared/src/main/scala/org/scalafmt/util/LiteralOps.scala b/scalafmt-core/shared/src/main/scala/org/scalafmt/util/LiteralOps.scala index fd7d20bf22..9b9031e06b 100644 --- a/scalafmt-core/shared/src/main/scala/org/scalafmt/util/LiteralOps.scala +++ b/scalafmt-core/shared/src/main/scala/org/scalafmt/util/LiteralOps.scala @@ -1,7 +1,6 @@ package org.scalafmt.util -import org.scalafmt.config.Case -import org.scalafmt.config.ScalafmtConfig +import org.scalafmt.config._ object LiteralOps { @@ -52,7 +51,7 @@ object LiteralOps { str: String, suffixUpper: Char, suffixLower: Char, - suffixCase: Case, + suffixCase: Literals.Case, )(implicit style: ScalafmtConfig): String = if (str.last == suffixUpper || str.last == suffixLower) style.literals .scientific.process(str.dropRight(1)) +