From 794576a5b0b9a7b9e59275acd47448525de1aac1 Mon Sep 17 00:00:00 2001 From: Bjorn Ove Hay Andersen Date: Wed, 15 Jun 2022 19:29:58 +0200 Subject: [PATCH] Update auto-pairs and idle-timeout when the config is reloaded (#2736) --- helix-term/src/application.rs | 5 +++++ helix-view/src/editor.rs | 8 ++++++++ 2 files changed, 13 insertions(+) diff --git a/helix-term/src/application.rs b/helix-term/src/application.rs index 2dfccf043..0c8de2ab0 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 3bc3ecb1e..ac19def10 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