1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
//! Rust bindings to the C types used by Neovim's API.
mod array;
pub mod conversion;
mod dictionary;
mod error;
mod function;
mod kvec;
mod non_owning;
mod object;
#[cfg(feature = "serde")]
pub mod serde;
mod string;
pub use array::Array;
pub use dictionary::Dictionary;
pub use error::Error;
pub use function::Function;
pub use non_owning::NonOwning;
pub use object::{Object, ObjectKind};
pub use string::String;
pub mod iter {
//! Iterators over [`Array`](crate::Array)s and
//! [`Dictionary`](crate::Dictionary)s.
pub use super::array::ArrayIterator;
pub use super::dictionary::{DictIter, DictIterMut, DictIterator};
}
// https://github.com/neovim/neovim/blob/v0.9.0/src/nvim/api/private/defs.h#L69
#[doc(hidden)]
pub type Boolean = bool;
// https://github.com/neovim/neovim/blob/v0.9.0/src/nvim/api/private/defs.h#L70
#[doc(hidden)]
pub type Integer = i64;
// https://github.com/neovim/neovim/blob/v0.9.0/src/nvim/api/private/defs.h#L71
#[doc(hidden)]
pub type Float = core::ffi::c_double;
// https://github.com/neovim/neovim/blob/v0.9.0/src/nvim/types.h#L19
#[doc(hidden)]
pub type LuaRef = core::ffi::c_int;
// https://github.com/neovim/neovim/blob/v0.9.0/src/nvim/types.h#L14
#[allow(non_camel_case_types)]
type handle_T = core::ffi::c_int;
// https://github.com/neovim/neovim/blob/v0.9.0/src/nvim/api/private/defs.h#L84
#[doc(hidden)]
pub type BufHandle = handle_T;
// https://github.com/neovim/neovim/blob/v0.9.0/src/nvim/api/private/defs.h#L85
#[doc(hidden)]
pub type WinHandle = handle_T;
// https://github.com/neovim/neovim/blob/v0.9.0/src/nvim/api/private/defs.h#L86
#[doc(hidden)]
pub type TabHandle = handle_T;
// https://github.com/neovim/neovim/blob/4f788f78f8b2d59a76b1a54a40af0c478eb3f929/src/nvim/api/private/defs.h#L127
#[doc(hidden)]
pub type HlGroupId = Integer;