From 745892fbddea56040139108277e728b53fd8fc11 Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Thu, 28 May 2020 03:03:21 +0000 Subject: CTAN sync 202005280303 --- support/texlab/src/hover/mod.rs | 50 ++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 26 deletions(-) (limited to 'support/texlab/src/hover/mod.rs') diff --git a/support/texlab/src/hover/mod.rs b/support/texlab/src/hover/mod.rs index ddb36a3354..e740657add 100644 --- a/support/texlab/src/hover/mod.rs +++ b/support/texlab/src/hover/mod.rs @@ -1,23 +1,24 @@ -mod bibtex_entry_type; -mod bibtex_field; -mod bibtex_string_reference; -mod latex_citation; -mod latex_component; -mod latex_include; -mod latex_label; -mod latex_preview; +mod bibtex; +mod latex; -use self::bibtex_entry_type::BibtexEntryTypeHoverProvider; -use self::bibtex_field::BibtexFieldHoverProvider; -use self::bibtex_string_reference::BibtexStringReferenceHoverProvider; -use self::latex_citation::LatexCitationHoverProvider; -use self::latex_component::LatexComponentHoverProvider; -use self::latex_include::LatexIncludeHoverProvider; -use self::latex_label::LatexLabelHoverProvider; -use self::latex_preview::LatexPreviewHoverProvider; -use crate::workspace::*; -use futures_boxed::boxed; -use lsp_types::{Hover, TextDocumentPositionParams}; +#[cfg(feature = "citation")] +use self::latex::citation::LatexCitationHoverProvider; + +use self::{ + bibtex::{ + entry_type::BibtexEntryTypeHoverProvider, field::BibtexFieldHoverProvider, + string_reference::BibtexStringReferenceHoverProvider, + }, + latex::{ + component::LatexComponentHoverProvider, label::LatexLabelHoverProvider, + preview::LatexPreviewHoverProvider, + }, +}; +use crate::{ + feature::{ChoiceProvider, FeatureProvider, FeatureRequest}, + protocol::{Hover, TextDocumentPositionParams}, +}; +use async_trait::async_trait; pub struct HoverProvider { provider: ChoiceProvider, @@ -30,9 +31,9 @@ impl HoverProvider { Box::new(BibtexEntryTypeHoverProvider), Box::new(BibtexStringReferenceHoverProvider), Box::new(BibtexFieldHoverProvider), + #[cfg(feature = "citation")] Box::new(LatexCitationHoverProvider), Box::new(LatexComponentHoverProvider), - Box::new(LatexIncludeHoverProvider), Box::new(LatexLabelHoverProvider), Box::new(LatexPreviewHoverProvider), ]), @@ -46,15 +47,12 @@ impl Default for HoverProvider { } } +#[async_trait] impl FeatureProvider for HoverProvider { type Params = TextDocumentPositionParams; type Output = Option; - #[boxed] - async fn execute<'a>( - &'a self, - request: &'a FeatureRequest, - ) -> Option { - self.provider.execute(request).await + async fn execute<'a>(&'a self, req: &'a FeatureRequest) -> Self::Output { + self.provider.execute(req).await } } -- cgit v1.2.3