Copilot documentation for plugin developers #13619
Unanswered
zbirenbaum
asked this question in
Copilot Conversations
Replies: 1 comment 3 replies
-
|
Big picture, stay tuned, changes are coming. I would discourage you from wasting your time trying to reverse engineer in the meantime.
Do feel free to elaborate on how it interferes and how you envision integrating. |
Beta Was this translation helpful? Give feedback.
3 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
I’m a neovim user that recently got access and am trying to write a copilot plugin in lua, as the currently provided copilot.vim is entirely vimscript, making it impossible to integrate with modern neovim plugins and very difficult to customize. The plugin as is interferes greatly with my existing workflow and configurations, but it often gives really good suggestions so I would hate to have to disable it.
Unfortunately, while I managed to get the server running remotely and logs show that the requests I send to it (which I built by directly porting the vimscript which makes the requests and printing it to make sure everything is identical) I never seem to get a server response unless there’s an error. I know it is working, because if I send a non existent method like “init” instead of “initialize” I get an error from my error callback, and if I send incorrect parameters for a method, I get a different error from the same callback accurately stating the problem. When I send correct methods and parameters though, it’s radio silent.
The vimscript is not well documented, likely because it was never intended to be ported or built upon, and the copilot agent seems to be a modified lsp server, but there doesn’t seem to be any way to get the arguments/requirements/handlers from docs or help files, and @tpope has disabled all issues/discussions so I can’t really ask there (which I honestly don’t blame him for, considering the number of posts here that are just complaints about waitlist).
Since the requests are properly being read from stdin, I can’t tell if it’s an issue with my lua authentication code failing silently, or some way of interfacing with the process stdout.
Could one of the developers provide some help here, ideally by shedding some light on the relevant parts of the agent for interfacing with it?
Beta Was this translation helpful? Give feedback.
All reactions