From bf91f35d3e2fd9bb7ce98ead494ec1ee0f4b2d5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=89=E5=92=B2=E9=9B=85=20=C2=B7=20Misaki=20Masa?= Date: Fri, 26 Apr 2024 19:51:12 +0800 Subject: [PATCH] fix: always create XDG cache directory even if user has set a custom one (#956) --- yazi-config/src/preview/preview.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/yazi-config/src/preview/preview.rs b/yazi-config/src/preview/preview.rs index 690ccb58..ac8a0ea2 100644 --- a/yazi-config/src/preview/preview.rs +++ b/yazi-config/src/preview/preview.rs @@ -49,11 +49,13 @@ impl Default for Preview { let preview = toml::from_str::(&MERGED_YAZI).unwrap().preview; check_validation(preview.validate()); - let cache_dir = - preview.cache_dir.filter(|p| !p.is_empty()).map_or_else(Xdg::cache_dir, expand_path); + let mut cache_dir = Xdg::cache_dir(); + std::fs::create_dir_all(&cache_dir).expect("Failed to create cache directory"); - if !cache_dir.is_dir() { - std::fs::create_dir(&cache_dir).expect("Failed to create cache directory"); + // If the `cache_dir` is set in the configuration file, use it instead + if let Some(p) = preview.cache_dir.filter(|s| !s.is_empty()).map(expand_path) { + cache_dir = p; + std::fs::create_dir_all(&cache_dir).expect("Failed to create cache directory"); } Preview {