You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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:
Allow for VSCode only features such as copilot chat, which are trivial to implement on the LSP side and just involve sending off a custom prompt Support for copilot chat? #172
Allow for increased customization of parameters exposed by the actual github copilot api endpoint (it's literally an OpenAI endpoint, just check their docs) such as number of completions, tokens, etc...
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: