nequissimus / sort-imports

A simplistic Scalafix rule that sorts imports

Version Matrix


GitHub Workflow Status GitHub commits since latest release GitHub last commit GitHub contributors

GitHub tag (latest SemVer) GitHub Release Date

Scala Steward badge License


SortImports is a simplistic Scalafix rule.

It will organize imports into prefix-blocks and order imports inside those blocks alphabetically.

For example, these imports

import scala.util._
import scala.collection._
import java.util.Map
import com.sun._

will be organized as follows

import java.util.Map

import scala.collection._
import scala.util._


import com.sun._

if the blocks from the below Configuration example are used.

Important sort-imports does not (currently) take into account shadowing. It is a faily dumb sorter of imports. If your code is using shadowing, it may end up no longer compiling! If you run into this issue, consider using liancheng/scalafix-organize-imports, which implements a semantic rule.


Latest version: GitHub tag (latest SemVer)

ThisBuild / scalafixDependencies += "com.nequissimus" %% "sort-imports" % "<VERSION>"


rule = SortImports
SortImports.blocks = [
  "re:javax?\\.", // a re: prefix denotes a regex, this will group java. and javax. packages together