sbt / sbt-scalariform   1.8.3


sbt plugin adding support for source code formatting using Scalariform

Scala versions: 2.12 2.10
sbt plugins: 1.0 0.13


Welcome to sbt-scalariform, an sbt plugin adding support for source code formatting using Scalariform.


addSbtPlugin("org.scalariform" % "sbt-scalariform" % "1.8.3")

Configuration (build.sbt)


import scalariform.formatter.preferences._

Example Preferences:

scalariformPreferences := scalariformPreferences.value
    .setPreference(AlignSingleLineCaseStatements, true)
    .setPreference(DoubleIndentConstructorArguments, true)
    .setPreference(DanglingCloseParenthesis, Preserve)

Sources are automatically formatted on compile and test:compile by default.

To enable Scalariform for integration tests in addition to compile and test:compile add to the build:


Other useful configuration options are provided by sbt setting keys:

  • includeFilter in scalariformFormat: Defaults to *.scala
  • excludeFilter in scalariformFormat: Using the default of sbt

Configuration (filesystem)

Copy default Scalariform preferences and create a preferences file globally in ~/.scalariform.conf, or locally in projectRoot/.scalariform.conf.

Modify preferences accordingly.

Note: It is not recommended to mix build and filesystem level preferences. If for some reason this is required, to override, for example, global filesystem preferences, create an empty .scalariform.conf file in the project root and define build level preferences accordingly.

Disable Autoformatting / Enable Formatting of Base Directory Sources

Custom configuration options can be applied in the build, or in a .scalariform.conf preferences file.


scalariformAutoformat := false
scalariformWithBaseDirectory := true


add to the top of target .scalariform.conf file:



This code is open source software licensed under the Apache 2.0 License.