Closed justinmk closed 7 months ago
that sounds like a fair amount of work :/
Maybe. But maybe not--most UIs work over RPC. Some ideas:
nvim
to be able to work as a msgpack-rpc client, so applications like vimr could link to libnvim
and use it to communicate with a remote nvim
. So then vimr could continue to work with C buffers but wouldn't have to deal with rpc.The existing UIBridge already uses a client (VimR) and server model (NvimServer), the updates would be to have it uses msgpack instead of the msgpack over MachPorts.
See https://github.com/qvacua/vimr/blob/master/NvimView/Sources/NvimView/UiBridge.swift
Currently the NvimServer is a patched version of neovim which is why updates have been slow because of the additional patching work that has to be done: https://github.com/neovim/neovim/compare/master...qvacua:neovim:develop
Thanks to @georgeharker 's contribution, VimR now uses stock Neovim binary.
hi @qvacua ! Just a heads up, in https://github.com/neovim/neovim/pull/18375 and related PRs, Nvim removed ui_bridge. What this means for projects like vimr is that, when embedding Nvim in-process, the UI protocol is done over msgpack instead of C pointers.