Open zbirenbaum opened 10 months ago
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.
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.
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: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.