diff options
Diffstat (limited to 'src/error.rs')
-rw-r--r-- | src/error.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/error.rs b/src/error.rs index 9e20809..509dba2 100644 --- a/src/error.rs +++ b/src/error.rs @@ -1,6 +1,9 @@ +use std::process::{ExitCode, Termination}; + pub type Result<T> = std::result::Result<T, Error>; #[derive(thiserror::Error, Debug)] +#[repr(u8)] pub enum Error { #[error("IO error: {0}")] IO(#[from] std::io::Error), @@ -14,3 +17,10 @@ pub enum Error { #[error("Finder error: {0}")] Finder(#[from] crate::finder::Error), } + +impl Termination for Error { + fn report(self) -> ExitCode { + eprintln!("{}", self); + ExitCode::FAILURE + } +} |