This project is an effort to improve the integration between language server/editors and build tools. This effort is led by the Scala Center and JetBrains, 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 - @adpi2
- Andrzej Głuszak - @agluszak
- Chris Kipp - @ckipp01
- Justin Kaeser - @jastice
- Łukasz Wawrzyk - @lukaszwawrzyk
- Marcin Abramowicz - @abrams27
- Tomasz Pasternak - @tpasternak
Past Maintainers
- Add unstable
run/printStdout
,run/printStderr
andrun/readStdin
notifications - Add an optional
originId
field toTaskStartParams
,TaskProgressParams
andTaskFinishParams
and deprecate it inCompileReport
andTestReport
to support BSP clients that need to distinguish between multiple reports for the same target.- Migration: Use the
originId
field inTaskFinishParams
instead ofCompileReport
/TestReport
to identify the report.
- Migration: Use the
- Add optional support for environment variables and working directory parameters in
buildTarget/run
andbuildTarget/test
requests. 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 - Add
Rust
protocol extension