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")
}
}
}
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 {
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))
snap: &GlobalStateSnapshot,
actions: &[HoverAction],
) -> Vec<lsp_ext::CommandLinkGroup> {
- if snap.config.hover_actions().none() || !snap.config.experimental_hover_actions() {
- return Vec::new();
- }
-
actions
.iter()
.filter_map(|it| match it {