diff options
author | Norbert Preining <norbert@preining.info> | 2021-05-23 03:00:39 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2021-05-23 03:00:39 +0000 |
commit | f1261b349e875b842745b63258c3e338cb1fe3bf (patch) | |
tree | b5d402b3e80818cde2c079a42249f3dcb9732247 /support/texlab/src/hover/mod.rs | |
parent | 58aa1ac09b1d9e4769d0a0661cf12e2b2db41b14 (diff) |
CTAN sync 202105230300
Diffstat (limited to 'support/texlab/src/hover/mod.rs')
-rw-r--r-- | support/texlab/src/hover/mod.rs | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/support/texlab/src/hover/mod.rs b/support/texlab/src/hover/mod.rs deleted file mode 100644 index e740657add..0000000000 --- a/support/texlab/src/hover/mod.rs +++ /dev/null @@ -1,58 +0,0 @@ -mod bibtex; -mod latex; - -#[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<TextDocumentPositionParams, Hover>, -} - -impl HoverProvider { - pub fn new() -> Self { - Self { - provider: ChoiceProvider::new(vec![ - Box::new(BibtexEntryTypeHoverProvider), - Box::new(BibtexStringReferenceHoverProvider), - Box::new(BibtexFieldHoverProvider), - #[cfg(feature = "citation")] - Box::new(LatexCitationHoverProvider), - Box::new(LatexComponentHoverProvider), - Box::new(LatexLabelHoverProvider), - Box::new(LatexPreviewHoverProvider), - ]), - } - } -} - -impl Default for HoverProvider { - fn default() -> Self { - Self::new() - } -} - -#[async_trait] -impl FeatureProvider for HoverProvider { - type Params = TextDocumentPositionParams; - type Output = Option<Hover>; - - async fn execute<'a>(&'a self, req: &'a FeatureRequest<Self::Params>) -> Self::Output { - self.provider.execute(req).await - } -} |