qvacua / vimr

VimR — Neovim GUI for macOS in Swift
https://twitter.com/VimRefined
MIT License
6.62k stars 218 forks source link

Nvim 0.9 removes ui_bridge #996

Closed justinmk closed 7 months ago

justinmk commented 1 year ago

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.

imajes commented 1 year ago

that sounds like a fair amount of work :/

justinmk commented 1 year ago

Maybe. But maybe not--most UIs work over RPC. Some ideas:

archoversight commented 11 months ago

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

qvacua commented 7 months ago

Thanks to @georgeharker 's contribution, VimR now uses stock Neovim binary.