Name: metals
Owner: scalameta
Description: WIP - Experimental Language Server using Scalameta-based tools
Created: 2017-11-03 14:18:53.0
Updated: 2018-01-18 01:34:01.0
Pushed: 2018-01-17 13:27:31.0
Size: 1016
Language: Scala
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
This project is an experiment to implement a Language Server for Scala using Scalameta semanticdb and the Scala presentation compiler.
:warning: This project is very alpha stage. Expect bugs and surprising behavior. Ticket reports and patches are welcome!
This project has the following goals:
Below is a rough summary of what features have been implemented. Even if some checkbox is marked it does not mean that feature works perfectly. Some of those features are a likely outside the scope of this project, we are still learning and exploring what's possible.
textDocument/publishDiagnostics
):textDocument/publishDiagnostics
):textDocument/codeAction
)textDocument/rename
)textDocument/rename
)textDocument/formatting
)textDocument/rangeFormatting
)textDocument/onTypeFormatting
)textDocument/completions
)textDocument/completions
)textDocument/signatureHelp
)textDocument/hover
)textDocument/definition
):textDocument/references
):textDocument/documentHighlight
)textDocument/documentSymbol
)workspace/symbol
)textDocument/documentSymbol
)See the contributing guide.
The current maintainers (people who can merge pull requests) are:
@laughedelic
@gabro
@jvican
@olafurpg
@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.
Metals = Meta (from Scalameta) + LS (from Language Server)