Files
CjTui/old_src/core/paths.rs

35 lines
869 B
Rust

use std::{env, path::PathBuf};
pub fn home_dir() -> Option<PathBuf> {
env::var_os("HOME").map(PathBuf::from)
}
pub fn config_dir() -> Option<PathBuf> {
// XDG first, fallback to ~/.config
if let Some(p) = env::var_os("XDG_CONFIG_HOME").map(PathBuf::from) {
Some(p)
} else {
home_dir().map(|h| h.join(".config"))
}
}
pub fn cache_dir() -> Option<PathBuf> {
// XDG first, fallback to ~/.cache
if let Some(p) = env::var_os("XDG_CACHE_HOME").map(PathBuf::from) {
Some(p)
} else {
home_dir().map(|h| h.join(".cache"))
}
}
pub fn app_config_dir() -> Option<PathBuf> {
config_dir().map(|d| d.join("cj-jftui"))
}
pub fn app_cache_dir() -> Option<PathBuf> {
cache_dir().map(|d| d.join("cj-jftui"))
}
pub fn posters_cache_dir() -> Option<PathBuf> {
app_cache_dir().map(|d| d.join("posters"))
}