nvim_oxi/
error.rs

1use thiserror::Error as ThisError;
2
3/// `nvim-oxi`'s result type.
4pub type Result<T> = std::result::Result<T, Error>;
5
6/// `nvim-oxi`'s error type.
7#[derive(Clone, Debug, ThisError)]
8#[cfg_attr(not(feature = "mlua"), derive(Eq, PartialEq))]
9pub enum Error {
10    #[error(transparent)]
11    Lua(#[from] luajit::Error),
12
13    #[error(transparent)]
14    Api(#[from] api::Error),
15
16    #[error(transparent)]
17    Nvim(#[from] types::Error),
18
19    #[error(transparent)]
20    ObjectConversion(#[from] types::conversion::Error),
21
22    #[error(transparent)]
23    Serialize(#[from] types::serde::SerializeError),
24
25    #[error(transparent)]
26    Deserialize(#[from] types::serde::DeserializeError),
27
28    #[cfg(feature = "libuv")]
29    #[error(transparent)]
30    Libuv(#[from] libuv::Error),
31
32    #[cfg(feature = "mlua")]
33    #[error(transparent)]
34    Mlua(#[from] mlua::Error),
35}