diff --git a/yazi-config/src/lib.rs b/yazi-config/src/lib.rs index 7badde11..bda794f2 100644 --- a/yazi-config/src/lib.rs +++ b/yazi-config/src/lib.rs @@ -50,7 +50,7 @@ pub fn init() { LAYOUT.with(Default::default); FLAVOR.with(Default::default); - FLAVOR.merge_with_theme(&config_dir); + FLAVOR.merge_with(&MERGED_THEME, &config_dir); KEYMAP.with(Default::default); LOG.with(Default::default); diff --git a/yazi-config/src/theme/flavor.rs b/yazi-config/src/theme/flavor.rs index aff7a0e8..975e7e86 100644 --- a/yazi-config/src/theme/flavor.rs +++ b/yazi-config/src/theme/flavor.rs @@ -2,6 +2,7 @@ use std::path::Path; use anyhow::Context; use serde::{Deserialize, Serialize}; +use yazi_shared::RoCell; use crate::{Preset, MERGED_THEME}; @@ -23,7 +24,7 @@ impl Default for Flavor { } impl Flavor { - pub fn merge_with_theme(&self, p: &Path) { + pub fn merge_with(&self, merged: &RoCell, p: &Path) { if self.use_.is_empty() { return; } @@ -33,6 +34,6 @@ impl Flavor { .with_context(|| format!("Failed to load flavor from: {:?}", path)) .unwrap(); - MERGED_THEME.replace(Preset::merge_str(&s, &MERGED_THEME)); + merged.replace(Preset::merge_str(&s, merged)); } }