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

The future of the Bazel LSP #104

Closed
cameron-martin opened this issue Jan 2, 2024 · 7 comments
Closed

The future of the Bazel LSP #104

cameron-martin opened this issue Jan 2, 2024 · 7 comments
Labels

Comments

@cameron-martin
Copy link
Contributor

cameron-martin commented Jan 2, 2024

I recently submitted a few patches to the Bazel LSP (#100, #101, #103). However, this is intended to be merely a proof of concept and there are some larger changes that need to be made (e.g. adding tests, bzlmod support). There was some discussion on the future of this project in #51, and the conclusion seemed to be to eventually split it out into a separate project and maintained by people with more of a stake in Bazel, but only when the interface is stable enough.

  • Is the interface stable enough to pull this out yet?
  • If not, are you willing to accept contributions to this even though it is meant as a proof of concept, especially larger ones?
  • If the interface isn't stable yet, does it make sense to keep the current PoC in this repo to verify changes to the interface, along with a more fleshed-out implementation in a separate repo?
@cameron-martin cameron-martin changed the title The future of the bazel LSP The future of the Bazel LSP Jan 2, 2024
@ndmitchell
Copy link
Contributor

I'm going to review the patches when I get back to work tomorrow. My guess is these patches are fine, but that adding tests/bzlmod support is probably going too far? Curious what @stepancheg thinks, especially about the stable interface question.

@ndmitchell ndmitchell added the lsp label Jan 19, 2024
@ndmitchell
Copy link
Contributor

My thoughts are to make the next steps (testing with Bazel, significant complexity) it's probably best to pull it out as a separate project. I don't think there's much value to leaving stale code in this repo as a test - we can just include a pointer to your code, and we do co-develop the LSP with the Buck2 usage of it, so it's not going to break. The interface is relatively stable, but it might be best to git submodule your Bazel LSP to avoid requiring releases if you do need to tweak the interface?

But keen to hear dissenting views, @stepancheg

@cameron-martin
Copy link
Contributor Author

cameron-martin commented Jan 19, 2024

I've pulled out the Bazel implementation here, where I am continuing any modifications: https://github.com/cameron-martin/bazel-lsp

Maybe in the future the bazelbuild org can inherit this.

@cameron-martin
Copy link
Contributor Author

I'll close this now, since bazel-lsp has advanced significantly past the bazel language server in this repo!

@stepancheg
Copy link
Contributor

@cameron-martin bazel-lsp readme is a bit misleading: it says "forked from starlark-rust", but it is actually just extends starlark-rust LSP for bazel. Up to you.

Also, I guess now we should remove Bazel support from starlark-rust repo and maybe point to bazel-lsp instead?

@cameron-martin
Copy link
Contributor Author

I wanted to attribute the original authoring of this bazel-specific extension of the language server to this repo, but yeah possibly a bit misleading...

Maybe saying "based on starlark-rust" is sufficiently vague to not be misleading?

@stepancheg
Copy link
Contributor

I wanted to attribute the original authoring of this bazel-specific extension

This is not us, we accepted PRs, but we don't use Bazel. I think that was @MaartenStaa from digging git log.

cameron-martin added a commit to cameron-martin/bazel-lsp that referenced this issue Apr 16, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants