Skip to content

Nvim 0.9 removes ui_bridge #996

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
justinmk opened this issue Jan 8, 2023 · 4 comments
Closed

Nvim 0.9 removes ui_bridge #996

justinmk opened this issue Jan 8, 2023 · 4 comments

Comments

@justinmk
Copy link

justinmk commented Jan 8, 2023

hi @qvacua ! Just a heads up, in neovim/neovim#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.

@justinmk justinmk changed the title Nvim 0.8 removes ui_bridge Nvim 0.9 removes ui_bridge Jan 8, 2023
@imajes
Copy link
Contributor

imajes commented May 29, 2023

that sounds like a fair amount of work :/

@justinmk
Copy link
Author

justinmk commented Jun 2, 2023

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

  • There is a old (not fully implemented) idea for 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.
  • msgpack library for swift... https://github.com/gabriel/MPMessagePack

@archoversight
Copy link
Contributor

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: neovim/neovim@master...qvacua:neovim:develop

@qvacua
Copy link
Owner

qvacua commented Dec 11, 2023

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

@qvacua qvacua closed this as completed Dec 11, 2023
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants