Skip to content

KillTheMule/nvim-rs

nvim-rs CI (Docs.rs) (Crates.io status)

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

Status

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.

Contributing

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

Running tests

For some tests, neovim needs to be installed. Set the environment variable NVIMRS_TEST_BIN to the path of the binary before running the tests.

Afterwards, you can simply run cargo test --features="use_tokio". Also run cargo build --examples --features="use_tokio" as well as cargo bench -- --test --features="use_tokio" to make sure everything still compiles (replace use_tokio by use_async-std to do all the above with async-std instead of tokio).

License

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.

CoC

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