aboutsummaryrefslogtreecommitdiffstats
path: root/src/error.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/error.rs')
-rw-r--r--src/error.rs10
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
+ }
+}