diff options
author | Jesse Luehrs <doy@tozt.net> | 2021-03-02 22:23:10 -0500 |
---|---|---|
committer | Jesse Luehrs <doy@tozt.net> | 2021-03-02 22:23:10 -0500 |
commit | 7e529362470125102f60354d6938154363c4e21d (patch) | |
tree | 3bfa9ed1ba4a1b71abc41d16ae673caa3a975197 /src/edit.rs | |
parent | 604e09e6ae098350bffe18bde26e1c62f7e88a00 (diff) | |
download | rbw-7e529362470125102f60354d6938154363c4e21d.tar.gz rbw-7e529362470125102f60354d6938154363c4e21d.zip |
support VISUAL in preference to EDITOR
Diffstat (limited to 'src/edit.rs')
-rw-r--r-- | src/edit.rs | 8 |
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(), }) } |