diff options
-rw-r--r-- | helix-term/src/application.rs | 5 | ||||
-rw-r--r-- | helix-view/src/editor.rs | 8 |
2 files changed, 13 insertions, 0 deletions
diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index 2dfccf04..0c8de2ab 100644 --- a/helix-term/src/application.rs +++ b/helix-term/src/application.rs @@ -287,6 +287,10 @@ impl Application { self.config.store(Arc::new(app_config)); } } + + // Update all the relevant members in the editor after updating + // the configuration. + self.editor.refresh_config(); } fn refresh_config(&mut self) { @@ -316,6 +320,7 @@ impl Application { }), ); } + self.config.store(Arc::new(config)); } diff --git a/helix-view/src/editor.rs b/helix-view/src/editor.rs index 3bc3ecb1..ac19def1 100644 --- a/helix-view/src/editor.rs +++ b/helix-view/src/editor.rs @@ -535,6 +535,14 @@ impl Editor { self.config.load() } + /// Call if the config has changed to let the editor update all + /// relevant members. + pub fn refresh_config(&mut self) { + let config = self.config(); + self.auto_pairs = (&config.auto_pairs).into(); + self.reset_idle_timer(); + } + pub fn clear_idle_timer(&mut self) { // equivalent to internal Instant::far_future() (30 years) self.idle_timer |