aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock7
-rw-r--r--Cargo.toml1
-rw-r--r--src/main.rs10
-rw-r--r--src/main_result.rs32
4 files changed, 14 insertions, 36 deletions
diff --git a/Cargo.lock b/Cargo.lock
index dd0880f..525871d 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -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"
diff --git a/Cargo.toml b/Cargo.toml
index 55763a3..810f69d 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -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),
- }
- }
-}