Open jvican opened 6 years ago
Having some experience in LSP development/integration I'm wondering why the BSP topic is narrowed to scala. There are so many builders, most of them run or can be run as servers as a part of CI, some of them are dockerized. Could you propose some Typescript library? Java official library is not enough because Typescript is used intensively on both sides. In the scope of eclipse/che 7 architecture BSP should serve all kinds of builders and EDIs uniformly.
BSP is currently focused on Scala because it happens to be designed by Scala developers to solve problems in the Scala ecosystem ;)
BSP is absolutely designed with supporting more tools and languages outside of Scala in mind, but we can only work on it once we have some basic level of adoption and experience with implementing it.
Indeed, as @jastice mentions, this is how we introduce the protocol in the github read me:
This project is a work-in-progress 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 tool developers in the Scala ecosystem.
Even though the protocol focuses on Scala developer tools, it's designed to be language-agnostic. We're looking for third parties in other programming languages to join this effort.
Is BSP as a concept still under active use and development? We have a need for this too - multiple build systems we need to integrate our language server into that we'd like a common interface for.
Assuming so, I'd love to see a link out from LSP specification to BSP as a "joint partnership" type of deal?
Is BSP as a concept still under active use and development? We have a need for this too - multiple build systems we need to integrate our language server into that we'd like a common interface for.
Yes, BSP is still being actively developed and is now supported by several build tools including Bazel. I'd be curious to hear about your use case, if you'd like to discuss it please get in touch!
Speaking of Bazel... I'd love to see BSP mapped out for Python, and then support added to Pantsbuild. As a project maintainer I'm happy to help facilitate the Pants-side :wink:
@thejcannon we do have a Python Extension definition, but as of yet, no real implementations.
Announcement of the Build Server Protocol (BSP) is here.
As explained in https://github.com/Microsoft/vscode/issues/52462, the BSP team at the Scala Center and JetBrains is interested in listening to feedback on the protocol. The protocol closely follows LSP's design. I think we could gain a lot of interesting insights from the maintainers of this repository.
(The major difference is the way we handle file watching endpoints; we use static capabilities + specific file watching endpoints instead of dynamic capabilities -- we think this design is simpler and easier to implement in both clients and servers, but it's less relevant in the grand scheme of things.)
I'm currently working on an official website built on Docusaurus to aggregate all relevant information relevant to the specification and the motivation. In the meanwhile, I encourage you to read the following links to grasp which problem we're solving and how we're solving it: