mod latex_include; use crate::link::latex_include::LatexIncludeLinkProvider; use crate::workspace::*; use futures_boxed::boxed; use lsp_types::{DocumentLink, DocumentLinkParams}; pub struct LinkProvider { provider: ConcatProvider, } impl LinkProvider { pub fn new() -> Self { Self { provider: ConcatProvider::new(vec![Box::new(LatexIncludeLinkProvider)]), } } } impl Default for LinkProvider { fn default() -> Self { Self::new() } } impl FeatureProvider for LinkProvider { type Params = DocumentLinkParams; type Output = Vec; #[boxed] async fn execute<'a>( &'a self, request: &'a FeatureRequest, ) -> Vec { self.provider.execute(request).await } }