use std::env::var; use anyhow::{anyhow, Result}; pub(crate) fn get_editor() -> Result { check_vars_in_order(&["EDITOR", "VISUAL"]).ok_or_else(|| anyhow!("could not find editor")) } fn check_vars_in_order(vars: &[&str]) -> Option { vars.iter().flat_map(|v| var(v).ok()).next() }