From adc8322c99da0d3d8e1d4363e7375b88f00069cb Mon Sep 17 00:00:00 2001 From: Ville Hakulinen Date: Sun, 16 Aug 2020 15:12:51 +0300 Subject: Refactor ui_set_option calls --- src/ui/state.rs | 52 +++++++++++++--------------------------------------- 1 file changed, 13 insertions(+), 39 deletions(-) diff --git a/src/ui/state.rs b/src/ui/state.rs index d2b9908..884d9c5 100644 --- a/src/ui/state.rs +++ b/src/ui/state.rs @@ -858,6 +858,16 @@ impl UIState { } } + fn set_ui_option(&self, opt: String, enable: bool, nvim: GioNeovim) { + spawn_local(async move { + if let Err(err) = + nvim.ui_set_option(&opt, rmpv::Value::Boolean(enable)).await + { + error!("Failed to set '{}' option: {}", opt, err); + } + }); + } + fn handle_gnvim_event(&mut self, event: &GnvimEvent, nvim: &GioNeovim) { match event { GnvimEvent::CompletionMenuToggleInfo => { @@ -876,49 +886,13 @@ impl UIState { self.enable_cursor_animations(*enable); } GnvimEvent::EnableExtTabline(enable) => { - let nvim = nvim.clone(); - let enable = *enable; - spawn_local(async move { - if let Err(err) = nvim - .ui_set_option( - "ext_tabline", - rmpv::Value::Boolean(enable), - ) - .await - { - error!("Failed to set ext_tabline option: {}", err); - } - }); + self.set_ui_option("ext_tabline".into(), *enable, nvim.clone()); } GnvimEvent::EnableExtCmdline(enable) => { - let nvim = nvim.clone(); - let enable = *enable; - spawn_local(async move { - if let Err(err) = nvim - .ui_set_option( - "ext_cmdline", - rmpv::Value::Boolean(enable), - ) - .await - { - error!("Failed to set ext_cmdline option: {}", err); - } - }); + self.set_ui_option("ext_cmdline".into(), *enable, nvim.clone()); } GnvimEvent::EnableExtPopupmenu(enable) => { - let nvim = nvim.clone(); - let enable = *enable; - spawn_local(async move { - if let Err(err) = nvim - .ui_set_option( - "ext_popupmenu", - rmpv::Value::Boolean(enable), - ) - .await - { - error!("Failed to set ext_popupmenu option: {}", err); - } - }); + self.set_ui_option("ext_popupmenu".into(), *enable, nvim.clone()); } GnvimEvent::Unknown(msg) => { debug!("Received unknown GnvimEvent: {}", msg); -- cgit v1.2.3