Something went wrong. Try again.
This repository has no description
Something went wrong. Try again.
12345678910111213141516171819202122232425use std::{env, path::PathBuf};
pub const BIN_HOME: &str = "XDG_BIN_HOME";pub const CACHE_HOME: &str = "XDG_CACHE_HOME";pub const CONFIG_HOME: &str = "XDG_CONFIG_HOME";pub const DATA_HOME: &str = "XDG_DATA_HOME";pub const DESKTOP_DIR: &str = "XDG_DESKTOP_DIR";pub const DOCUMENTS_DIR: &str = "XDG_DOCUMENTS_DIR";pub const DOWNLOAD_DIR: &str = "XDG_DOWNLOAD_DIR";pub const MUSIC_DIR: &str = "XDG_MUSIC_DIR";pub const PICTURES_DIR: &str = "XDG_PICTURES_DIR";pub const PUBLICSHARE_DIR: &str = "XDG_PUBLICSHARE_DIR";pub const RUNTIME_DIR: &str = "XDG_RUNTIME_DIR";pub const STATE_HOME: &str = "XDG_STATE_HOME";pub const TEMPLATES_DIR: &str = "XDG_TEMPLATES_DIR";pub const VIDEOS_DIR: &str = "XDG_VIDEOS_DIR";
pub fn resolve_path(key: &str) -> Option<PathBuf> { env::var_os(key).map(PathBuf::from).filter(|p| p.is_absolute())}
pub fn resolve_path_with_fallback(key: &str, default: &str) -> Option<PathBuf> { resolve_path(key).or_else(|| env::home_dir().map(|p| p.join(default)))}