Crate nvim_rs[][src]

Expand description

Rust library for Neovim clients

Implements support for rust plugins for Neovim through its msgpack-rpc API.

Origins

This library started as a fork of neovim-lib with the goal to utilize Rust’s async/await to allow requests/notification to/from neovim to be arbitrarily nested. After the fork, I started implementing more ideas I had for this library.

Status

As of the end of 2019, I’m somewhat confident to recommend starting to use this library. The overall handling should not change anymore. A breaking change I kind of expect is adding error variants to CallError when I start working on the API (right now, it panics when messages don’t have the right format, I’ll want to return proper errors in that case).

I’ve not yet worked through the details of what-to-export, but I’m quite willing to consider what people need or want.

Re-exports

pub use crate::neovim::Neovim;
pub use crate::rpc::handler::Handler;
pub use crate::uioptions::UiAttachOptions;
pub use crate::uioptions::UiOption;

Modules

compatuse_tokio

A re-export of tokio-util’s Compat

Functions to spawn a neovim session.

Errors of nvim-rs.

Examples on how to use nvim-rs.

Buffers, windows, tabpages of neovim

An active neovim session.

The auto generated API for neovim

Some manually implemented API functions

RPC functionality for neovim

Options for UI implementations

Macros

Pack the given arguments into a Vec<Value>, suitable for using it for a call to neovim.

Structs

A struct representing a neovim buffer. It is specific to a Neovim instance, and calling a method on it will always use this instance.

A struct representing a neovim tabpage. It is specific to a Neovim instance, and calling a method on it will always use this instance.

A struct representing a neovim window. It is specific to a Neovim instance, and calling a method on it will always use this instance.

Enums

Represents any valid MessagePack value.