This project is an effort to improve the integration between language server/editors and build tools. This effort is led by the Scala Center together with the help of other tooling developers in the Scala ecosystem and beyond.
Even though the protocol currently focuses on Scala developer tools, it's designed to be language-agnostic.
You can read the specification here.
The specification text, docs and support libraries for some of the supported languages are automatically generated from the smithy model.
If you'd like to contribute to the protocol, please check out our CONTRIBUTING doc.
Current Maintainers
- Adrien Piquerez (Scala Center) - @adpi2
- Łukasz Wawrzyk (VirtusLab) - @lukaszwawrzyk
Former Maintainers
- Chris Kipp (ex-Lunatech) - @ckipp01
- Jorge Vicente Cantero (ex-Scala Center) - @jvican
- Ólafur Páll Geirsson (ex-Scala Center) - @olafurpg
- Tomasz Pasternak (JetBrains/VirtusLab) - @tpasternak
- Andrzej Głuszak (JetBrains) - @agluszak
- Justin Kaeser (JetBrains) - @jastice
- Marcin Abramowicz (JetBrains) - @abrams27
- Add unstable
run/printStdout,run/printStderrandrun/readStdinnotifications - Add an optional
originIdfield toTaskStartParams,TaskProgressParamsandTaskFinishParamsand deprecate it inCompileReportandTestReportto support BSP clients that need to distinguish between multiple reports for the same target.- Migration: Use the
originIdfield inTaskFinishParamsinstead ofCompileReport/TestReportto identify the report.
- Migration: Use the
- Add optional support for environment variables and working directory parameters in
buildTarget/runandbuildTarget/testrequests. Mark arguments and environment variables lists in ScalaMainClass and ScalaTestSuites deprecated as they are replaced by the parameters in the base request. - Add
cargo(Rust build tool) protocol extension - Update diagnostic-related structures to match LSP 3.17
- Add
Rustprotocol extension - Add
buildToolParamsto compile/test/run requests - Add an optional
datafield toSourceItem