blob: b4d1804cce51fe8a999876bd15c71ca3ce0d03ef (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
use std::sync::Arc;
use lsp_types::DocumentLinkParams;
use crate::features::FeatureRequest;
use super::LinkResult;
pub(super) fn find_include_links(
request: &FeatureRequest<DocumentLinkParams>,
results: &mut Vec<LinkResult>,
) -> Option<()> {
let data = request.main_document().data.as_latex()?;
for include in &data.extras.explicit_links {
for target in &include.targets {
if request
.workspace
.documents_by_uri
.values()
.any(|document| document.uri.as_ref() == target.as_ref())
{
results.push(LinkResult {
range: include.stem_range,
target: Arc::clone(target),
});
break;
}
}
}
Some(())
}
|