@@ -34,23 +34,23 @@ There are some times, though, where a compiler modification is the
34
34
best choice even for Scala. Popular compiler plugins (as of 2018)
35
35
include:
36
36
37
- - Alternate compiler back ends such as Scala.js, Scala Native, and
38
- Fortify SCA for Scala.
39
- - Linters such as Wartremover and Scapegoat.
37
+ - Alternate compiler back ends such as [ Scala.js] ( https://www.scala-js.org ) , [ Scala Native] ( http://scala-native.org ) , and
38
+ [ Fortify SCA for Scala] ( https://developer.lightbend.com/docs/fortify/current/ ) .
39
+ - Linters such as [ Wartremover] ( https://www.wartremover.org ) and [ Scapegoat] ( https://github.com/sksamuel/scapegoat ) .
40
40
- Plugins that support reformatting and other changes
41
- to source code, such as scalafix and scalafmt (which are
42
- built on the semanticdb and scalahost compiler plugins).
43
- - Plugins that alter Scala's syntax, such as kind-projector.
41
+ to source code, such as [ scalafix] ( https://scalacenter.github.io/scalafix/ ) and [ scalafmt] ( https://scalameta.org/scalafmt/ ) (which are
42
+ built on the [ semanticdb] ( https://scalameta.org/docs/semanticdb/guide.html ) and [ scalahost] ( https://github.com/Duhemm/scalahost ) compiler plugins).
43
+ - Plugins that alter Scala's syntax, such as [ kind-projector] ( https://github.com/typelevel/kind-projector ) .
44
44
- Plugins that alter Scala's behavior around errors and warnings,
45
- such as silencer.
45
+ such as [ silencer] ( https://github.com/ghik/silencer ) .
46
46
- Plugins that analyze the structure of source code, such as
47
- Sculpt and acyclic.
47
+ [ Sculpt] ( https://github.com/lightbend/scala-sculpt ) and [ acyclic] ( https://github.com/lihaoyi/acyclic ) .
48
48
- Plugins that instrument user code to collect information,
49
- such as the code coverage tool scoverage.
49
+ such as the code coverage tool [ scoverage] ( https://github.com/scoverage/scalac-scoverage-plugin ) .
50
50
- Plugins that add metaprogramming facilities to Scala,
51
- such as Macro Paradise.
51
+ such as [ Macro Paradise] ( https://github.com/scalamacros/paradise ) .
52
52
- Plugins that add entirely new constructs to Scala by
53
- restructuring user code, such as scala-continuations.
53
+ restructuring user code, such as [ scala-continuations] ( https://github.com/scala/scala-continuations ) .
54
54
55
55
Some tasks that required a compiler plugin in very early Scala
56
56
versions can now be done using macros instead; see [ Macros] ({{ site.baseurl }}/overviews/macros/overview.html).
0 commit comments