Enrich your Scala compiler error output with additional advices and colors!
Read the detailed documentation.
Contributing to the project
You can also help developing the plugin and/or the UI for submitting new advices! The module structure is:
model- code shared between the UI and the plugin. Contains basic model case classes, such as
plugin- the compiler plugin which actually displays the advices and matches errors agains the database of known errors
tests- tests for the compiler plugin. Must be a separate project, as it requires the plugin jar to be ready
ui- the ui server project in Play
ui-client- the Scala.JS client-side code
ui-shared- code shared between the UI server and UI client (but not needed for the plugin)
For examples on how to write tests for advice to ensure it does not go out of date see CompileTests.scala. If you want to write your own tests with compilation using
mkToolbox, remember to add a
-P:clippy:testmode=true compiler option. It ensures that a correct reporter replacement mechanism is used, which needs to be different specifically for tests. See CompileTests.scala for reference.
To publish locally append "-SNAPSHOT" to the version number then run
sbt "project plugin" "+ publishLocal"
Run advice tests with
- Install the Heroku Toolbelt
- link the local git repository with the Heroku application:
heroku git:remote -a scala-clippy
sbt deployHerokuto deploy the current code as a fat-jar
Currently deployed on
Syntax highlighting code is copied from Ammonite.