use std::env::var;
pub fn xdg_dirs(xdg_type: &str, def_home_suffix: &str, def_dirs: &str) -> Vec<String> {
let (home_key, dirs_key) = (format!("XDG_{xdg_type}_HOME"), format!("XDG_{xdg_type}_DIRS"));
let mut dirs = Vec::new();
dirs.extend(var(home_key).or_else(|_| var("HOME").map(|d| d + def_home_suffix)));
dirs.extend(var(dirs_key).unwrap_or_else(|_| def_dirs.into()).split(':').map(String::from));
dirs.into_iter().map(|p| p + "/kibi").collect()
}
pub fn conf_dirs() -> Vec<String> { xdg_dirs("CONFIG", "/.config", "/etc/xdg:/etc") }
pub fn data_dirs() -> Vec<String> {
xdg_dirs("DATA", "/.local/share", "/usr/local/share/:/usr/share/")
}