Popularity
5.5
Stable
Activity
0.0
Stable
314
20
19

Programming language: Scala
License: Apache License 2.0
Tags: Sbt Plugins    
Latest version: v0.6.1

scala-clippy alternatives and similar packages

Based on the "Sbt plugins" category.
Alternatively, view scala-clippy alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of scala-clippy or a related project?

Add another 'Sbt plugins' Package

README

Scala clippy

Join the chat at https://gitter.im/softwaremill/scala-clippy Build Status Dependencies Maven Central

Enrich your Scala compiler error output with additional advices and colors!

[enriched error example](ui/app/assets/img/clippy-akka-err-rich.png "")

Documentation

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 CompilationError + parser
  • 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](./tests/src/test/scala/org/softwaremill/clippy/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](tests/src/test/scala/org/softwaremill/clippy/CompileTests.scala) for reference.

To publish locally append "-SNAPSHOT" to the version number then run

sbt "project plugin" "+ publishLocal"

Run advice tests with

sbt tests/test

Heroku deployment

Locally:

  • Install the Heroku Toolbelt
  • link the local git repository with the Heroku application: heroku git:remote -a scala-clippy
  • run sbt deployHeroku to deploy the current code as a fat-jar

Currently deployed on https://www.scala-clippy.org

Credits

Clippy contributors:

Syntax highlighting code is copied from Ammonite.