A little more multiplayer
Pairing is easier when both people can get their hands on the code. Multiplayer.nvim explores that idea inside Neovim: shared buffers, visible collaborators, and the familiar motions of an editor that already feels like home.
Inside the session
Lua handles the editor side, watching buffer changes through Neovim’s
nvim_buf_attach() API and showing collaborator positions with marks and
highlights. A Rust communication layer uses Iroh and QUIC to connect peers.
One person hosts a session; another joins. The joining editor holds shared buffers in memory, with saves synchronized back to the host.
:Coop host
:Coop join
These are the two entry points into a session. The repository has the setup instructions and current behavior.
The interesting part
Sending an edit is only one piece of collaboration. Changes also need to land in the right place while cursors move, lines disappear, and people work at the same time. The project brings together three problems: editing behavior, peer communication, and the lifetime of a shared session.
Still taking shape
Multiplayer.nvim is in development. The repository documents breaking changes and rough edges; the work is an exploration of making cooperation feel native to a terminal editor.