1use thiserror::Error as ThisError;
2
3pub type Result<T> = std::result::Result<T, Error>;
5
6#[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}