nvim_types/
lib.rs

1#![allow(clippy::missing_safety_doc)]
2use std::ffi::{c_double, c_int};
3
4mod array;
5pub mod conversion;
6mod dictionary;
7mod error;
8mod function;
9mod kvec;
10mod non_owning;
11mod object;
12#[cfg(feature = "serde")]
13pub mod serde;
14mod string;
15
16pub use array::{Array, ArrayIterator};
17pub use dictionary::{DictIterator, Dictionary, KeyValuePair};
18pub use error::Error;
19pub use function::Function;
20pub use kvec::KVec;
21pub use non_owning::NonOwning;
22pub use object::{Object, ObjectKind};
23pub use string::String;
24
25// https://github.com/neovim/neovim/blob/master/src/nvim/api/private/defs.h#L67
26#[doc(hidden)]
27pub type Boolean = bool;
28
29// https://github.com/neovim/neovim/blob/master/src/nvim/api/private/defs.h#L68
30#[doc(hidden)]
31pub type Integer = i64;
32
33// https://github.com/neovim/neovim/blob/master/src/nvim/api/private/defs.h#L69
34#[doc(hidden)]
35pub type Float = c_double;
36
37// https://github.com/neovim/neovim/blob/master/src/nvim/types.h#L23
38#[doc(hidden)]
39pub type LuaRef = c_int;
40
41// https://github.com/neovim/neovim/blob/master/src/nvim/types.h#L18
42#[allow(non_camel_case_types)]
43type handle_T = c_int;
44
45// https://github.com/neovim/neovim/blob/master/src/nvim/api/private/defs.h#L82
46#[doc(hidden)]
47pub type BufHandle = handle_T;
48
49// https://github.com/neovim/neovim/blob/master/src/nvim/api/private/defs.h#L83
50#[doc(hidden)]
51pub type WinHandle = handle_T;
52
53// https://github.com/neovim/neovim/blob/master/src/nvim/api/private/defs.h#L84
54#[doc(hidden)]
55pub type TabHandle = handle_T;