This project is an experiment to implement a Language Server for Scala using Scalameta projects such as Scalafmt, Scalafix and SemanticDB.
See the contributing guide.
See here for an overview of a what features are supported or not supported by Metals.
The current maintainers (people who can merge pull requests) are:
- Alexey Alekhin -
@laughedelic
- Gabriele Petronella -
@gabro
- Jorge Vicente Cantero -
@jvican
- Ólafur Páll Geirsson -
@olafurpg
- Shane Delmore -
@ShaneDelmore
Huge thanks to @dragos
for his work on a Scala
implementation of the LSP (see: https://github.com/dragos/dragos-vscode-scala).
This project helped us get quickly started with LSP. Since then, we have
refactored the project's original sources to the point where only a few simple
case classes remain.
- IntelliJ IDEA: the most widely used IDE for Scala using a re-implementation of the Scala typechecker.
- ENSIME: brings Scala and Java IDE-like features to editors like Emacs and Sublime Text using the Scala Presentation Compiler.
- Scala IDE: Eclipse-based IDE using the Scala Presentation Compiler.
Metals = Meta (from Scalameta) + LS (from Language Server)