Only reconfiure highlights when setting theme

This commit is contained in:
wojciechkepka 2021-06-19 13:52:28 +02:00 committed by Blaž Hrastnik
parent 42e13bd542
commit 6825e19509
2 changed files with 10 additions and 11 deletions

View File

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

View File

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