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

RFC: Custom LSP Integration #209

Open
zbirenbaum opened this issue Aug 30, 2023 · 2 comments
Open

RFC: Custom LSP Integration #209

zbirenbaum opened this issue Aug 30, 2023 · 2 comments

Comments

@zbirenbaum
Copy link
Owner

zbirenbaum commented Aug 30, 2023

So my custom copilot-lsp implementation https://github.com/zbirenbaum/copilot-rs finally seems to be in a pretty decent state and can now be used as a drop in replacement excluding panel completions (barely work in the official release anyways), which means its time to start considering integration here. This is mostly an RFC post regarding a couple of things:

How should we handle distribution of the alternative LSP?

We could distribute an equivalent agent.js using wasm bindings but there are two points for consideration:

  • Since copilot-rs does not implement telemetry it is very possibly going to get shutdown
  • We should avoid any backlash on copilot.lua if copilot-rs gets shut down

How should we handle feature integration?

The goal of developing an alternative LSP client has always been to achieve (at least) the following:

Since these features will eventually be present in copilot-rs, but not the official agent.js, client side support becomes a bit more complicated

@MunifTanjim would love to hear your thoughts. I'm leaning towards creating a new fork of copilot.lua just to support and redistribute copilot-rs and putting a note about it in the README. It's not ideal since requiring a whole different plug-in will slow testing and adoption dramatically, but at least it would keep the api clean and this plug-in protected from any potential backlash.

If anyone has input or knows of any projects that successfully navigated the telemetry problem please feel free to comment and discuss here.

@zbirenbaum zbirenbaum pinned this issue Aug 30, 2023
@zbirenbaum zbirenbaum changed the title Custom LSP Integration RFC: Custom LSP Integration Aug 31, 2023
@MunifTanjim
Copy link
Collaborator

Even if it's included in this repo, it should be somewhat separated (either opt-in or opt-out) from the current implementation that mimics everything from https://github.com/github/copilot.vim. Then the user can choose which implementation to use.

@zbirenbaum
Copy link
Owner Author

zbirenbaum commented Sep 1, 2023

Even if it's included in this repo, it should be somewhat separated (either opt-in or opt-out) from the current implementation that mimics everything from https://github.com/github/copilot.vim. Then the user can choose which implementation to use.

Yeah this was what I was thinking. I'm really hesitant to put it in this repo at all though unless I can find some precedent to show it's remotely safe. It doesn't break any license terms but not sure that will matter.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants