added config
This commit is contained in:
35
src/core/paths.rs
Normal file
35
src/core/paths.rs
Normal file
@@ -0,0 +1,35 @@
|
||||
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"))
|
||||
}
|
||||
Reference in New Issue
Block a user