1#[derive(thiserror::Error, Debug)]
2pub enum Error {
3 #[error("no handlers found for URL scheme: {0}")]
4 NoHandlersFound(String),
5
6 #[error("failed to execute application {0}: {1}")]
7 OpenUrl(String, std::process::ExitStatus),
8
9 #[error("I/O error: {0}")]
10 Io(#[from] std::io::Error),
11
12 #[error("failed to convert scheme to MIME type: {0}")]
13 MimeFromStr(#[from] mime::FromStrError),
14
15 #[error("failed to open desktop entry: {0}")]
16 DesktopEntryDecode(#[from] freedesktop_desktop_entry::DecodeError),
17
18 #[error("failed to parse Exec command: {0}")]
19 ParseExecArgs(#[from] crate::exec::ExecParseError),
20
21 #[error("failed to parse arguments: {0}")]
22 ExecArgsShellParse(#[from] shell_words::ParseError),
23}