Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

scalafmt: enable Imports rewrite #3888

Merged
merged 1 commit into from
Mar 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .scalafmt.conf
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,24 @@ newlines {
}
rewrite {
rules = [
Imports,
RedundantBraces,
RedundantParens,
SortModifiers,
]
imports {
expand = true
sort = ascii
groups = [
["org\\.scalafmt\\..*"],
["scala\\.meta\\..*", "org\\.scalameta\\..*"],
["sbt\\..*"],
["java.?\\..*"],
["scala\\..*"],
["org\\..*"],
["com\\..*"],
]
}
redundantBraces {
ifElseExpressions = true
stringInterpolation = true
Expand Down
5 changes: 3 additions & 2 deletions project/Dependencies.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
import sbt._
import sbt.Keys._
import org.scalajs.sbtplugin.ScalaJSPlugin.autoImport._
import sbt._

import org.portablescala.sbtplatformdeps.PlatformDepsPlugin.autoImport._
import org.scalajs.sbtplugin.ScalaJSPlugin.autoImport._

// scalafmt: { maxColumn = 100, align.preset = more, align.allowOverflow = true }

Expand Down
21 changes: 12 additions & 9 deletions readme/src/main/scala/org/scalafmt/readme/Readme.scala
Original file line number Diff line number Diff line change
@@ -1,21 +1,24 @@
package org.scalafmt.readme

import scalatags.Text.TypedTag
import scalatags.Text.all._
import org.scalafmt.Scalafmt
import org.scalafmt.Versions
import org.scalafmt.cli.Cli
import org.scalafmt.cli.CliArgParser
import org.scalafmt.config.Config
import org.scalafmt.config._
import org.scalafmt.rewrite._

import java.text.SimpleDateFormat
import java.util.Date

import com.twitter.util.Eval

import metaconfig.Conf
import metaconfig.ConfEncoder
import metaconfig.generic.Settings
import metaconfig.generic.Surface
import org.scalafmt.Scalafmt
import org.scalafmt.Versions
import org.scalafmt.cli.Cli
import org.scalafmt.cli.CliArgParser
import org.scalafmt.config._
import org.scalafmt.rewrite._
import org.scalafmt.config.Config
import scalatags.Text.TypedTag
import scalatags.Text.all._

object hl extends scalatex.site.Highlighter

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
package benchmarks

import java.util.concurrent.TimeUnit

import org.openjdk.jmh.annotations._
import org.scalafmt.Scalafmt
import org.scalafmt.benchmarks.FormatBenchmark

import scala.collection.GenIterable
import scala.meta.testkit.Corpus

import java.util.concurrent.TimeUnit

import scala.collection.GenIterable
import scala.util.Try

import org.openjdk.jmh.annotations._

/** Formats filename at with scalafmt.
*
* To run benchmark:
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package org.scalafmt.benchmarks

import org.scalafmt.Scalafmt
import org.scalafmt.config.{RewriteSettings, ScalafmtConfig}
import org.scalafmt.rewrite.{RedundantBraces, SortImports}
import org.scalafmt.config.RewriteSettings
import org.scalafmt.config.ScalafmtConfig
import org.scalafmt.rewrite.RedundantBraces
import org.scalafmt.rewrite.SortImports

trait FormatBenchmark {
def formatRewrite(code: String): String = Scalafmt.formatCode(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package org.scalafmt.benchmarks

import org.scalafmt.Scalafmt
import org.scalafmt.sysops.FileOps

import java.nio.file.Path
import java.util.concurrent.TimeUnit

import org.openjdk.jmh.annotations._
import org.scalafmt.Scalafmt
import org.scalafmt.sysops.FileOps

/** Formats some files with scalafmt.
*
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package org.scalafmt.benchmarks

import benchmarks.MacroBenchmark
import org.scalafmt.benchmarks.Micro.ScalaJsFile

import benchmarks.MacroBenchmark
import munit.FunSuite

class TestMacroP extends MacroBenchmark(true, 10)
Expand Down
8 changes: 5 additions & 3 deletions scalafmt-cli/src/main/scala/org/scalafmt/cli/Cli.scala
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
package org.scalafmt.cli

import com.martiansoftware.nailgun.NGContext
import java.nio.file.{Files, Paths}

import org.scalafmt.Versions.{stable => stableVersion}
import org.scalafmt.sysops.AbsoluteFile

import java.nio.file.Files
import java.nio.file.Paths

import scala.io.Source
import scala.util.Using
import scala.util.control.NoStackTrace

import com.martiansoftware.nailgun.NGContext

object Cli {
def nailMain(nGContext: NGContext): Unit = {
val workingDirectory = AbsoluteFile.fromPathIfAbsolute(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,11 @@
package org.scalafmt.cli

import java.nio.file.{Path, Paths}
import org.scalafmt.Versions

import java.nio.file.Path
import java.nio.file.Paths
import java.util.Date

import org.scalafmt.Versions
import scopt.OptionParser

object CliArgParser {
Expand Down
21 changes: 15 additions & 6 deletions scalafmt-cli/src/main/scala/org/scalafmt/cli/CliOptions.scala
Original file line number Diff line number Diff line change
@@ -1,16 +1,25 @@
package org.scalafmt.cli

import java.io.{InputStream, OutputStream, PrintStream}
import java.nio.file.{Files, NoSuchFileException, Path}

import metaconfig.Configured
import org.scalafmt.config.{ConfParsed, ScalafmtConfig, ScalafmtConfigException}
import org.scalafmt.sysops.{AbsoluteFile, GitOps, OsSpecific}
import org.scalafmt.config.ConfParsed
import org.scalafmt.config.ScalafmtConfig
import org.scalafmt.config.ScalafmtConfigException
import org.scalafmt.sysops.AbsoluteFile
import org.scalafmt.sysops.GitOps
import org.scalafmt.sysops.OsSpecific

import java.io.InputStream
import java.io.OutputStream
import java.io.PrintStream
import java.nio.file.Files
import java.nio.file.NoSuchFileException
import java.nio.file.Path

import scala.io.Codec
import scala.util.Try
import scala.util.matching.Regex

import metaconfig.Configured

object CliOptions {
val default = CliOptions()

Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package org.scalafmt.cli

import scala.io.Source
import org.scalafmt.Error.MisformattedFile
import org.scalafmt.sysops.AbsoluteFile

import java.io.InputStream
import java.nio.file.{Path, Paths}
import java.nio.file.Path
import java.nio.file.Paths

import org.scalafmt.Error.MisformattedFile
import org.scalafmt.sysops.AbsoluteFile
import scala.io.Source

sealed abstract class InputMethod {
def readInput(options: CliOptions): String
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,15 @@
package org.scalafmt.cli

import java.io.PrintWriter
import org.scalafmt.Error.MisformattedFile
import org.scalafmt.dynamic.exceptions.ScalafmtException
import org.scalafmt.interfaces.PositionException
import org.scalafmt.interfaces.ScalafmtReporter

import java.io.OutputStreamWriter
import java.io.PrintWriter
import java.nio.file.Path
import java.util.concurrent.atomic.AtomicReference

import org.scalafmt.Error.MisformattedFile
import org.scalafmt.interfaces.{PositionException, ScalafmtReporter}
import org.scalafmt.dynamic.exceptions.ScalafmtException

import scala.util.control.NoStackTrace

class ScalafmtCliReporter(options: CliOptions) extends ScalafmtReporter {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,17 +1,21 @@
package org.scalafmt.cli

import java.util.concurrent.atomic.AtomicReference
import util.control.Breaks

import org.scalafmt.CompatCollections.ParConverters._
import org.scalafmt.Error
import org.scalafmt.{Formatted, Scalafmt, Versions}
import org.scalafmt.config.{ProjectFiles, ScalafmtConfig}
import org.scalafmt.Formatted
import org.scalafmt.Scalafmt
import org.scalafmt.Versions
import org.scalafmt.config.ProjectFiles
import org.scalafmt.config.ScalafmtConfig
import org.scalafmt.config.ScalafmtConfigException
import org.scalafmt.CompatCollections.ParConverters._

import scala.meta.parsers.ParseException
import scala.meta.tokenizers.TokenizeException

import java.util.concurrent.atomic.AtomicReference

import util.control.Breaks

object ScalafmtCoreRunner extends ScalafmtRunner {
override private[cli] def run(
options: CliOptions,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
package org.scalafmt.cli

import java.nio.file.Path
import java.util.concurrent.atomic.AtomicReference

import org.scalafmt.CompatCollections.ParConverters._
import org.scalafmt.Error
import org.scalafmt.dynamic.ScalafmtDynamicError
import org.scalafmt.interfaces.Scalafmt
import org.scalafmt.interfaces.ScalafmtSession
import org.scalafmt.sysops.FileOps

import java.nio.file.Path
import java.util.concurrent.atomic.AtomicReference

import util.control.Breaks._

object ScalafmtDynamicRunner extends ScalafmtRunner {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
package org.scalafmt.cli

import java.io.OutputStreamWriter
import java.nio.file.Path

import org.scalafmt.Error
import org.scalafmt.sysops.AbsoluteFile
import org.scalafmt.sysops.BatchPathFinder

import java.io.OutputStreamWriter
import java.nio.file.Path

trait ScalafmtRunner {
private[cli] def run(
options: CliOptions,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ package org.scalafmt.cli
* which in turn was copy/pasted from (MIT licence)
* https://github.com/lihaoyi/Ammonite/blob/10854e3b8b454a74198058ba258734a17af32023/terminal/src/main/scala/ammonite/terminal/Utils.scala
*/
import scala.annotation.tailrec
import scala.collection.mutable.ArrayBuffer
import scala.util.Try

import java.io.File
import java.io.Writer
import java.sql.Timestamp
import java.util.concurrent._

import scala.annotation.tailrec
import scala.collection.mutable.ArrayBuffer
import scala.util.Try

object Terminal {

private lazy val pathedTput =
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
package org.scalafmt.config

import org.scalafmt.config.PlatformConfig._

import java.nio.file.Path

import scala.io.Codec
import scala.util.Try

import metaconfig._
import org.scalafmt.config.PlatformConfig._

class ConfParsed(val conf: Configured[Conf]) extends AnyVal {

Expand Down
15 changes: 9 additions & 6 deletions scalafmt-core/shared/src/main/scala/org/scalafmt/Error.scala
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
package org.scalafmt

import scala.meta.Case
import scala.meta.Tree
import scala.reflect.ClassTag
import scala.reflect.classTag
import java.nio.file.Path
import scala.meta.inputs.Position
import org.scalafmt.internal.Decision
import org.scalafmt.internal.FormatToken
import org.scalafmt.internal.State
import org.scalafmt.util.LoggerOps

import scala.meta.Case
import scala.meta.Tree
import scala.meta.inputs.Position
import scala.meta.internal.inputs._

import java.nio.file.Path

import scala.reflect.ClassTag
import scala.reflect.classTag
import scala.util.control.NoStackTrace

sealed abstract class Error(msg: String) extends Exception(msg)
Expand Down
22 changes: 12 additions & 10 deletions scalafmt-core/shared/src/main/scala/org/scalafmt/Scalafmt.scala
Original file line number Diff line number Diff line change
@@ -1,15 +1,5 @@
package org.scalafmt

import java.nio.file.Path

import metaconfig.Configured
import scala.meta.Input
import scala.meta.dialects
import scala.meta.parsers.ParseException
import scala.util.Failure
import scala.util.Success
import scala.util.Try

import org.scalafmt.Error.PreciseIncomplete
import org.scalafmt.config.FormatEvent.CreateFormatOps
import org.scalafmt.config.LineEndings
Expand All @@ -22,6 +12,18 @@ import org.scalafmt.rewrite.Rewrite
import org.scalafmt.sysops.FileOps
import org.scalafmt.util.MarkdownParser

import scala.meta.Input
import scala.meta.dialects
import scala.meta.parsers.ParseException

import java.nio.file.Path

import scala.util.Failure
import scala.util.Success
import scala.util.Try

import metaconfig.Configured

/** WARNING. This API is discouraged when integrating with Scalafmt from a build
* tool or editor plugin. It is recommended to use the `scalafmt-dynamic`
* module instead.
Expand Down
Loading
Loading