Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement/use the Build server protocol #9

Closed
sideeffffect opened this issue Jan 28, 2020 · 6 comments
Closed

Implement/use the Build server protocol #9

sideeffffect opened this issue Jan 28, 2020 · 6 comments
Labels
level: hard Ticket suited for experts type: enhancement New feature or request

Comments

@sideeffffect
Copy link

Consider implementing/using the Build server protocol

The problem this document aims to address is the multiplied effort required to integrate between available language servers/editors and build tools. Currently, every language server must implement a custom integration for each supported build tool in order to extract compilation information such as classpaths, source directories or compiler diagnostics. Likewise, new build tools are expected to integrate with all available IDEs. The growing number of language servers and build tools in the wider programming community means tooling developers spend a lot of time working on these integrations.
...
The Build Server Protocol has been designed to be language-agnostic. We're looking for ways to collaborate with other programming language communities and build tool authors.

(differences between LSP and BSP)

@jneira
Copy link
Member

jneira commented Jan 29, 2020

Afaik the ide would be a client of that build protocol, right?. It should be implemented in build tools like cabal or stack (or wrapping them)

@jneira jneira added the type: support User support tickets, questions, help with setup etc. label Jan 29, 2020
@sideeffffect
Copy link
Author

I could imagine a scenario, where a component of "ide" would wrap existing build tools (cabal, stack,... ) and pose as a build server, and other component(s) of "ide" would pose as build clients, happily talking to each other via the build server protocol

@jneira jneira added type: enhancement New feature or request and removed type: support User support tickets, questions, help with setup etc. labels Jun 2, 2020
@hasufell hasufell added the level: hard Ticket suited for experts label Jul 13, 2022
@hasufell
Copy link
Member

Afaiu there's no reason that the BSP is implemented in the same tool as the LSP. Rather... HLS could be a user of a BSP server.

@michaelpj
Copy link
Collaborator

I think that would work badly for us, since we pretty heavily rely on having deep, in-memory access to the results of compilation. Pushing that across a protocol boundary would either be very slow or not fit into the protocol at all.

@hasufell
Copy link
Member

I guess we can close as WONTFIX then?

@michaelpj
Copy link
Collaborator

Yeah, I guess. Maybe someone will do a deeper investigation and figure out that it is actually viable, but in that case we can reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
level: hard Ticket suited for experts type: enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants