#[derive(Debug, thiserror::Error)] pub enum Error { #[error(transparent)] ParseEntry(#[from] pest::error::Error<crate::common::EntryRule>), #[error(transparent)] ParseApps(#[from] pest::error::Error<crate::apps::MimeappsRule>), #[error(transparent)] Io(#[from] std::io::Error), #[error(transparent)] Xdg(#[from] xdg::BaseDirectoriesError), #[error(transparent)] Config(#[from] confy::ConfyError), #[error("no handler defined for .{0}")] NotFound(String), #[error("could not figure out the mime type .{0}")] Ambiguous(String), #[error(transparent)] BadMimeType(#[from] mime::FromStrError), #[error("malformed desktop entry at .{0}")] BadEntry(std::path::PathBuf), } pub type Result<T, E = Error> = std::result::Result<T, E>;