Files
pacdef_rust/src/env.rs
T

26 lines
706 B
Rust

use std::env::var;
use anyhow::{anyhow, Result};
pub fn get_editor() -> Result<String> {
check_vars_in_order(&["EDITOR", "VISUAL"]).ok_or_else(|| anyhow!("could not find editor"))
}
fn check_vars_in_order(vars: &[&str]) -> Option<String> {
vars.iter().find_map(|v| var(v).ok())
}
fn get_single_var(variable: &str) -> Option<String> {
var(variable).ok()
}
/// Determine if debug information should be printed. Will return `true` if RUST_BACKTRACE equals
/// "s" or "full".
pub fn should_print_debug_info() -> bool {
match get_single_var("RUST_BACKTRACE") {
Some(value) if ["s", "full"].contains(&value.as_str()) => true,
Some(_) => false,
None => false,
}
}