import sbt._ import com.typesafe.sbt.SbtScalariform import com.typesafe.sbt.SbtScalariform.ScalariformKeys object Formatting extends AutoPlugin { override def trigger: PluginTrigger = AllRequirements override def requires: Plugins = SbtScalariform override def projectSettings: Seq[_root_.sbt.Def.Setting[_]] = formatSettings lazy val formatSettings = SbtScalariform.scalariformSettings ++ Seq( ScalariformKeys.preferences in Compile := formattingPreferences, ScalariformKeys.preferences in Test := formattingPreferences ) import scalariform.formatter.preferences._ def formattingPreferences = FormattingPreferences() .setPreference(RewriteArrowSymbols, false) .setPreference(AlignParameters, true) .setPreference(AlignSingleLineCaseStatements, true) .setPreference(DanglingCloseParenthesis, Preserve) .setPreference(DoubleIndentClassDeclaration, true) .setPreference(SpacesAroundMultiImports, true) }