use std::path::PathBuf;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum PluginError {
#[error("failed to parse plugin source at {path}: {message}")]
InvalidSource { path: PathBuf, message: String },
#[error("plugin {plugin} does not expose version {version}")]
VersionNotFound { plugin: String, version: String },
#[error("plugin did not provide a result")]
NoResultProvided,
#[error("plugin backend error: {0}")]
Backend(String),
}
pub type PluginResult<T> = Result<T, PluginError>;