diff options
-rw-r--r-- | Cargo.lock | 7 | ||||
-rw-r--r-- | Cargo.toml | 1 | ||||
-rw-r--r-- | src/main.rs | 10 | ||||
-rw-r--r-- | src/main_result.rs | 32 |
4 files changed, 14 insertions, 36 deletions
@@ -76,10 +76,17 @@ name = "mmv" version = "0.1.0" dependencies = [ "lexopt", + "proxit", "tempfile", ] [[package]] +name = "proxit" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "799e1d32ce9ca2aabd2ae1806c7673f2ec583b9260415f3416538865dacd2f70" + +[[package]] name = "redox_syscall" version = "0.3.5" source = "registry+https://github.com/rust-lang/crates.io-index" @@ -11,4 +11,5 @@ authors = [ [dependencies] lexopt = "0.1.0" +proxit = "1.0.1" tempfile = "3.7.0" diff --git a/src/main.rs b/src/main.rs index 1698968..383175d 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,4 @@ mod error; -mod main_result; use std::{ cmp::Reverse, @@ -14,9 +13,12 @@ use std::{ process::{Command, Stdio}, }; -use tempfile::tempdir; +use { + proxit::MainResult, + tempfile::tempdir, +}; -use {error::Error, main_result::MainResult}; +use error::Error; #[derive(Default)] struct Flags { @@ -27,7 +29,7 @@ struct Flags { pub verbose: bool, } -fn main() -> MainResult { +fn main() -> MainResult<(), Error> { work().into() } diff --git a/src/main_result.rs b/src/main_result.rs deleted file mode 100644 index 36e3096..0000000 --- a/src/main_result.rs +++ /dev/null @@ -1,32 +0,0 @@ -use std::{ - io::{self, Write}, - process::{ExitCode, Termination}, -}; - -use super::error::Error; - -pub enum MainResult { - Success, - Failure(Error), -} - -impl Termination for MainResult { - fn report(self) -> ExitCode { - match self { - Self::Success => ExitCode::SUCCESS, - Self::Failure(e) => { - let _ = write!(io::stderr(), "{e}"); - ExitCode::FAILURE - } - } - } -} - -impl From<Result<(), Error>> for MainResult { - fn from(r: Result<(), Error>) -> Self { - match r { - Ok(()) => Self::Success, - Err(e) => Self::Failure(e), - } - } -} |