aboutsummaryrefslogtreecommitdiffstats
path: root/src/edit.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2021-07-05 17:27:46 -0400
committerJesse Luehrs <doy@tozt.net>2021-07-05 17:27:46 -0400
commita3da3774a3befda7b45ec19e197e5029a3c291b2 (patch)
tree06226dace9e73e3919f77508d7cca73451b7c977 /src/edit.rs
parent390245a36dd9949f6641afdc8e060c9b2f30ca43 (diff)
downloadrbw-a3da3774a3befda7b45ec19e197e5029a3c291b2.tar.gz
rbw-a3da3774a3befda7b45ec19e197e5029a3c291b2.zip
better error message when editor is set incorrectly
Diffstat (limited to 'src/edit.rs')
-rw-r--r--src/edit.rs25
1 files changed, 16 insertions, 9 deletions
diff --git a/src/edit.rs b/src/edit.rs
index cac8794..45e9534 100644
--- a/src/edit.rs
+++ b/src/edit.rs
@@ -38,15 +38,22 @@ pub fn edit(contents: &str, help: &str) -> Result<String> {
drop(fh);
args.push(file.as_os_str());
- let res = std::process::Command::new(&editor)
- .args(&args)
- .status()
- .unwrap();
- if !res.success() {
- return Err(Error::FailedToRunEditor {
- editor: editor.to_owned(),
- res,
- });
+ let res = std::process::Command::new(&editor).args(&args).status();
+ match res {
+ Ok(res) => {
+ if !res.success() {
+ return Err(Error::FailedToRunEditor {
+ editor: editor.to_owned(),
+ res,
+ });
+ }
+ }
+ Err(err) => {
+ return Err(Error::FailedToFindEditor {
+ editor: editor.to_owned(),
+ err,
+ })
+ }
}
let mut fh = std::fs::File::open(&file).unwrap();