diff options
author | wojciechkepka | 2021-06-19 11:52:28 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2021-06-19 15:07:13 +0000 |
commit | 6825e195099de6e4eab64e26a230cf8a9c9521b7 (patch) | |
tree | 7424256c18f77eca9c12ec900a8722129c68c84e | |
parent | 42e13bd5424581ec7ad299319e7f2f98a9832052 (diff) |
Only reconfiure highlights when setting theme
-rw-r--r-- | helix-core/src/syntax.rs | 19 | ||||
-rw-r--r-- | helix-view/src/editor.rs | 2 |
2 files changed, 10 insertions, 11 deletions
diff --git a/helix-core/src/syntax.rs b/helix-core/src/syntax.rs index 78623fd6..81b6d5a0 100644 --- a/helix-core/src/syntax.rs +++ b/helix-core/src/syntax.rs @@ -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() } diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs index 83d5cbf6..35a547ad 100644 --- a/helix-view/src/editor.rs +++ b/helix-view/src/editor.rs @@ -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; |