use std::{env, path::PathBuf}; pub fn store_path() -> Option { cache_dir().map(|c| c.join("syn")) } fn cache_dir() -> Option { env::var_os("XDG_CACHE_HOME") .map(PathBuf::from) .or_else(|| home_dir().map(|h| h.join(".cache"))) } fn home_dir() -> Option { env::var_os("HOME") .and_then(|h| if h.is_empty() { None } else { Some(h) }) .map(PathBuf::from) }