devrc_plugins/
errors.rs

1use std::io::Error as IoError;
2
3use crate::options::PluginOption;
4
5pub type DevrcPluginResult<T> = Result<T, DevrcPluginError>;
6
7#[derive(Debug)]
8pub enum DevrcPluginError {
9    NotFound(String),
10    LoadingError(libloading::Error),
11    Code { code: i32 },
12    Signal,
13    IoError(IoError),
14    AnyhowError(anyhow::Error),
15    InvalidOption(String, PluginOption),
16}
17
18impl From<libloading::Error> for DevrcPluginError {
19    fn from(value: libloading::Error) -> Self {
20        DevrcPluginError::LoadingError(value)
21    }
22}
23
24impl From<anyhow::Error> for DevrcPluginError {
25    fn from(error: anyhow::Error) -> Self {
26        DevrcPluginError::AnyhowError(error)
27    }
28}