Commit 252e989
committed
Add the Dotty Language Server
This is an implementation of the Language Server Protocol for Dotty,
which allows us to provide rich IDE features in every editor supporting
this protocol, a Visual Studio Code extension demonstrating this is part
of the next commit. For more information on the LSP, see
https://github.com/Microsoft/language-server-protocol
Fully supported features:
- Typechecking as you type to show compiler errors/warnings
- Type information on hover
- Go to definition (in the current project)
- Find all references
Partially working features:
- Completion
- Renaming
- Go to definition in external projects
Unimplemented features:
- Documentation on hover
- Formatting code (requires integrating with scalafmt)
- Quick fixes (probably by integrating with scalafix)
Current limitations, to be fixed:
- Projects should be compiled with sbt before starting the IDE, this is
automatically done for you if you run `sbt launchIDE`.
- Once the IDE is started, source files that are not opened in the IDE
should not be modified in some other editor, the IDE won't pick up
these changes.
- Not all compiler errors/warnings are displayed, just those occuring
during typechecking.1 parent 7611a5c commit 252e989
File tree
5 files changed
+562
-0
lines changed- language-server/src/dotty/tools/languageserver
- config
- project
5 files changed
+562
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
12 | 12 | | |
13 | 13 | | |
14 | 14 | | |
| 15 | + | |
15 | 16 | | |
16 | 17 | | |
17 | 18 | | |
| |||
0 commit comments