diff options
author | Tim Oram <dev@mitmaro.ca> | 2020-09-21 11:23:25 -0230 |
---|---|---|
committer | Tim Oram <dev@mitmaro.ca> | 2020-09-21 11:35:09 -0230 |
commit | 9b6459e00c64092bfa664b4b8d64562b0f135626 (patch) | |
tree | 4c645bdb4d18ede1fc1ce18ce107b2896f3c8fff /src/process | |
parent | b44b8f3eda1ea87c66e9b64fda92dd1bb5c4b912 (diff) |
Use anyhow in the process module
Replace the String errors in the process module with the anyhow library.
Diffstat (limited to 'src/process')
-rw-r--r-- | src/process/mod.rs | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/process/mod.rs b/src/process/mod.rs index dd0697c..a4848cd 100644 --- a/src/process/mod.rs +++ b/src/process/mod.rs @@ -18,6 +18,7 @@ use crate::process::process_result::ProcessResult; use crate::process::state::State; use crate::process::window_size_error::WindowSizeError; use crate::view::View; +use anyhow::Result; pub struct Process<'r> { exit_status: Option<ExitStatus>, @@ -43,7 +44,7 @@ impl<'r> Process<'r> { } } - pub(crate) fn run(&mut self, mut modules: Modules<'_>) -> Result<Option<ExitStatus>, String> { + pub(crate) fn run(&mut self, mut modules: Modules<'_>) -> Result<Option<ExitStatus>> { let (view_width, view_height) = self.view.get_view_size(); if WindowSizeError::is_window_too_small(view_width, view_height) { self.handle_process_result(&mut modules, ProcessResult::new().state(State::WindowSizeError)); @@ -117,11 +118,11 @@ impl<'r> Process<'r> { .unwrap(); // if activating the error module causes an error, then the only option is to panic } - fn exit_end(&mut self) -> Result<(), String> { - self.git_interactive.write_file().map_err(|err| { + fn exit_end(&mut self) -> Result<()> { + let result = self.git_interactive.write_file(); + if result.is_err() { self.exit_status = Some(ExitStatus::FileWriteError); - err.to_string() - })?; - Ok(()) + } + result } } |