Open
Description
Problem
The design, and usage, of remote plugins can be simplified, as described in neovim/neovim#27949
tl;dr:
- remove the concept of "remote plugins"
- instead, any Go module that imports the go-client can call RegisterHandler to handle requests from Nvim
- "remote plugins" become plain old Lua plugins which call RPC methods on the Go module
Solution
- Apply the above proposal to go-client. go-client already supports
RegisterHandler
, so the remaining tasks are:- "Encapsulate the stdio related code in a helper function."
- Update docs
- (Nvim 0.12) Remove old rplugin-related code
- Deprecate the old rplugin interface.
Reference
- Implementation in node-client: WIP: redesign "remote plugins", eliminate "host" concept node-client#344
- discussion/samples of current go-client interface: How to get notified of `AutoCmd` events from within a `go-client` test fixture which is *not* a plugin? neovim#27371
- related pynvim issue: simplify remote plugins pynvim#567