Only reconfiure highlights when setting theme

pull/318/head
wojciechkepka 3 years ago committed by Blaž Hrastnik
parent 42e13bd542
commit 6825e19509

@ -172,18 +172,17 @@ impl LanguageConfiguration {
} }
} }
pub fn highlight_config(&self, scopes: &[String]) -> Option<Arc<HighlightConfiguration>> { pub fn reconfigure(&self, scopes: &[String]) {
if let Some(config) = self.highlight_config.get() { if let Some(Some(config)) = self.highlight_config.get() {
if let Some(config) = config {
config.configure(scopes); config.configure(scopes);
} }
config.clone() }
} else {
pub fn highlight_config(&self, scopes: &[String]) -> Option<Arc<HighlightConfiguration>> {
self.highlight_config self.highlight_config
.get_or_init(|| self.initialize_highlight(scopes)) .get_or_init(|| self.initialize_highlight(scopes))
.clone() .clone()
} }
}
pub fn is_highlight_initialized(&self) -> bool { pub fn is_highlight_initialized(&self) -> bool {
self.highlight_config.get().is_some() self.highlight_config.get().is_some()

@ -85,7 +85,7 @@ impl Editor {
.language_configs_iter() .language_configs_iter()
.filter(|cfg| cfg.is_highlight_initialized()) .filter(|cfg| cfg.is_highlight_initialized())
{ {
config.highlight_config(scopes); config.reconfigure(scopes);
} }
self.theme = theme; self.theme = theme;

Loading…
Cancel
Save