/nvim-rs

A rust library for neovim clients

Primary LanguageRustApache License 2.0Apache-2.0

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.

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, 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.

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.