1use std::path::PathBuf;
2
3use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum PluginError {
8 #[error("failed to parse plugin source at {path}: {message}")]
10 InvalidSource { path: PathBuf, message: String },
11 #[error("plugin {plugin} does not expose version {version}")]
13 VersionNotFound { plugin: String, version: String },
14 #[error("plugin did not provide a result")]
16 NoResultProvided,
17 #[error("plugin backend error: {0}")]
19 Backend(String),
20}
21
22pub type PluginResult<T> = Result<T, PluginError>;