Skip to content

veej/metals

 
 

Repository files navigation

Metals

Join the chat at https://gitter.im/scalameta/scalameta

This project is an experiment to implement a Language Server for Scala using Scalameta projects such as Scalafmt, Scalafix and SemanticDB.

⚠️ This project is under development and is not intended to be used for day-to-day coding. Expect bugs and incomplete documentation. Installation instructions are primarily intended for project contributors.

Contributing

See the installation instructions and contributing guide.

Overview

See here for an overview of a what features are supported or not supported by Metals.

Team

The current maintainers (people who can merge pull requests) are:

Acknowledgement

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.

Alternatives

  • 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.

Why Metals?

Metals = Meta (from Scalameta) + LS (from Language Server)

About

🚧 WIP Language Server for Scala

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 98.1%
  • TypeScript 1.5%
  • Other 0.4%