aboutsummaryrefslogtreecommitdiffstats
path: root/src/edit.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/edit.rs')
-rw-r--r--src/edit.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/edit.rs b/src/edit.rs
index 8325072..cac8794 100644
--- a/src/edit.rs
+++ b/src/edit.rs
@@ -3,8 +3,11 @@ use crate::prelude::*;
use std::io::{Read as _, Write as _};
pub fn edit(contents: &str, help: &str) -> Result<String> {
- let editor =
- std::env::var_os("EDITOR").unwrap_or_else(|| "/usr/bin/vim".into());
+ let mut var = "VISUAL";
+ let editor = std::env::var_os(var).unwrap_or_else(|| {
+ var = "EDITOR";
+ std::env::var_os(var).unwrap_or_else(|| "/usr/bin/vim".into())
+ });
let editor = std::path::Path::new(&editor);
let mut args = vec![];
@@ -21,6 +24,7 @@ pub fn edit(contents: &str, help: &str) -> Result<String> {
},
None => {
return Err(Error::InvalidEditor {
+ var: var.to_string(),
editor: editor.as_os_str().to_os_string(),
})
}