From ea9f6920fbc5f06442fdf3bc6ec6b0e31f4a2bfd Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Wed, 28 Jul 2021 12:25:14 +0300 Subject: [PATCH] minor: simplify --- crates/rust-analyzer/src/config.rs | 15 ++++++--------- crates/rust-analyzer/src/handlers.rs | 10 +++++----- 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/crates/rust-analyzer/src/config.rs b/crates/rust-analyzer/src/config.rs index a4caccbe63c..99a29b43d20 100644 --- a/crates/rust-analyzer/src/config.rs +++ b/crates/rust-analyzer/src/config.rs @@ -582,9 +582,6 @@ impl Config { pub fn code_action_group(&self) -> bool { self.experimental("codeActionGroup") } - pub fn experimental_hover_actions(&self) -> bool { - self.experimental("hoverActions") - } pub fn server_status_notification(&self) -> bool { self.experimental("serverStatusNotification") } @@ -790,13 +787,13 @@ impl Config { } } pub fn hover_actions(&self) -> HoverActionsConfig { + let enable = self.experimental("hoverActions") && self.data.hoverActions_enable; HoverActionsConfig { - implementations: self.data.hoverActions_enable - && self.data.hoverActions_implementations, - references: self.data.hoverActions_enable && self.data.hoverActions_references, - run: self.data.hoverActions_enable && self.data.hoverActions_run, - debug: self.data.hoverActions_enable && self.data.hoverActions_debug, - goto_type_def: self.data.hoverActions_enable && self.data.hoverActions_gotoTypeDef, + implementations: enable && self.data.hoverActions_implementations, + references: enable && self.data.hoverActions_references, + run: enable && self.data.hoverActions_run, + debug: enable && self.data.hoverActions_debug, + goto_type_def: enable && self.data.hoverActions_gotoTypeDef, } } pub fn highlighting_strings(&self) -> bool { diff --git a/crates/rust-analyzer/src/handlers.rs b/crates/rust-analyzer/src/handlers.rs index 52b557f1568..129b35999d0 100644 --- a/crates/rust-analyzer/src/handlers.rs +++ b/crates/rust-analyzer/src/handlers.rs @@ -882,7 +882,11 @@ pub(crate) fn handle_hover( contents: HoverContents::Markup(to_proto::markup_content(info.info.markup)), range: Some(range), }, - actions: prepare_hover_actions(&snap, &info.info.actions), + actions: if snap.config.hover_actions().none() { + Vec::new() + } else { + prepare_hover_actions(&snap, &info.info.actions) + }, }; Ok(Some(hover)) @@ -1594,10 +1598,6 @@ fn prepare_hover_actions( snap: &GlobalStateSnapshot, actions: &[HoverAction], ) -> Vec { - if snap.config.hover_actions().none() || !snap.config.experimental_hover_actions() { - return Vec::new(); - } - actions .iter() .filter_map(|it| match it {