6502-opcodes/project/LintingPlugin.scala
2020-08-15 02:04:28 -04:00

26 lines
812 B
Scala

import sbt.Keys._
import sbt._
object LintingPlugin extends AutoPlugin {
override def trigger = allRequirements
override lazy val globalSettings =
addCommandAlias("fmt", List("all", "scalafmtSbt", "compile:scalafmt", "test:scalafmt").mkString(" ")) ++
addCommandAlias("fix", "scalafixAll")
object autoImport {
// this class name should be unique to evade implicit collision with other ops classes
implicit class LintingOps(p: Project) {
def withOrganizeImports: Project = {
import scalafix.sbt.ScalafixPlugin.autoImport._
p.settings(
ThisBuild / scalafixDependencies += "com.github.liancheng" %% "organize-imports" % "0.4.0",
semanticdbEnabled := true,
semanticdbVersion := scalafixSemanticdb.revision
)
}
}
}
}