#neovim #rpc #msgpack #nvim


A library for writing neovim rpc clients

3 releases (breaking)

0.2.0 Aug 29, 2020
0.1.0 Jan 2, 2020
0.0.1 Dec 9, 2019

#15 in Text editors


3.5K SLoC

nvim-rs Travis Status Appveyor status (Docs.rs) (Crates.io status)

Rust library for Neovim msgpack-rpc clients. Utilizes async to allow for arbitrary nesting of requests.


Useable, see the examples/ and tests/ folders for examples. The nvim_rs::examples submodule contains documentation of the examples.

The API is unstable, see the Roadmap for things being planned.


I'd love contributions, comments, praise, criticism... You could open an issue or a pull request, or if you want a direct contact, meet me in the neovim gitter channel. I also read the subreddits for rust and neovim, if that suits you better.

Running tests

For some of the tests, the neovim source included as a submodule needs to be compiled.

  • On Linux and OSX, after checking out the source, it should be as simple as cd neovim && make.

  • On Windows, follow the build instructions from the neovim wiki.

After building neovim, you can simply run cargo test. Also run cargo build --examples as well as cargo bench -- --test to make sure everything still compiles.


As this is a fork of neovim-lib, it is licensed under the GNU Lesser General Public License v3.0.

IMPORTANT: All commits to this project, including all PRs, are dual-licensed under the Apache or MIT license. This is to allow the possibility of relicensing this project later.


Wherever applicable, this project follows the rust code of conduct.


~88K SLoC