summaryrefslogtreecommitdiffstats
path: root/src/process
diff options
context:
space:
mode:
authorTim Oram <dev@mitmaro.ca>2020-09-21 11:23:25 -0230
committerTim Oram <dev@mitmaro.ca>2020-09-21 11:35:09 -0230
commit9b6459e00c64092bfa664b4b8d64562b0f135626 (patch)
tree4c645bdb4d18ede1fc1ce18ce107b2896f3c8fff /src/process
parentb44b8f3eda1ea87c66e9b64fda92dd1bb5c4b912 (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.rs13
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
}
}