aboutsummaryrefslogtreecommitdiffstats
path: root/src/edit.rs
diff options
context:
space:
mode:
authorJesse Luehrs <doy@tozt.net>2021-03-02 22:23:10 -0500
committerJesse Luehrs <doy@tozt.net>2021-03-02 22:23:10 -0500
commit7e529362470125102f60354d6938154363c4e21d (patch)
tree3bfa9ed1ba4a1b71abc41d16ae673caa3a975197 /src/edit.rs
parent604e09e6ae098350bffe18bde26e1c62f7e88a00 (diff)
downloadrbw-7e529362470125102f60354d6938154363c4e21d.tar.gz
rbw-7e529362470125102f60354d6938154363c4e21d.zip
support VISUAL in preference to EDITOR
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(),
})
}