summaryrefslogtreecommitdiff
path: root/support/texlab/src/features/link.rs
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2022-05-26 03:01:06 +0000
committerNorbert Preining <norbert@preining.info>2022-05-26 03:01:06 +0000
commit02d941fa9c9895bb08a84ac9afe3559abd1ba8ad (patch)
tree481d1d368c6d295a779b590d23bcd5397bcba628 /support/texlab/src/features/link.rs
parentf01a37f8311f33e32441d25bdadcda9dcdbd165d (diff)
CTAN sync 202205260301
Diffstat (limited to 'support/texlab/src/features/link.rs')
-rw-r--r--support/texlab/src/features/link.rs30
1 files changed, 11 insertions, 19 deletions
diff --git a/support/texlab/src/features/link.rs b/support/texlab/src/features/link.rs
index a6016c9f76..0a02f7819e 100644
--- a/support/texlab/src/features/link.rs
+++ b/support/texlab/src/features/link.rs
@@ -1,34 +1,26 @@
-use cancellation::CancellationToken;
use lsp_types::{DocumentLink, DocumentLinkParams};
use crate::LineIndexExt;
use super::FeatureRequest;
-pub fn find_document_links(
- request: FeatureRequest<DocumentLinkParams>,
- cancellation_token: &CancellationToken,
-) -> Vec<DocumentLink> {
+pub fn find_document_links(request: FeatureRequest<DocumentLinkParams>) -> Vec<DocumentLink> {
let mut links = Vec::new();
let main_document = request.main_document();
if let Some(data) = main_document.data.as_latex() {
for include in &data.extras.explicit_links {
for target in &include.targets {
- if cancellation_token.is_canceled() {
- return links;
- }
-
if request
- .subset
- .documents
- .iter()
+ .workspace
+ .documents_by_uri
+ .values()
.any(|document| document.uri.as_ref() == target.as_ref())
{
links.push(DocumentLink {
range: main_document
.line_index
.line_col_lsp_range(include.stem_range),
- target: Some(target.as_ref().clone().into()),
+ target: Some(target.as_ref().clone()),
tooltip: None,
data: None,
});
@@ -56,7 +48,7 @@ mod tests {
.build()
.link();
- let items = find_document_links(request, CancellationToken::none());
+ let items = find_document_links(request);
assert!(items.is_empty());
}
@@ -68,7 +60,7 @@ mod tests {
.build()
.link();
- let items = find_document_links(request, CancellationToken::none());
+ let items = find_document_links(request);
assert!(items.is_empty());
}
@@ -80,11 +72,11 @@ mod tests {
.build();
let target = tester.uri("bar.tex");
- let actual_items = find_document_links(tester.link(), CancellationToken::none());
+ let actual_items = find_document_links(tester.link());
let expected_items = vec![DocumentLink {
range: Range::new_simple(0, 7, 0, 14),
- target: Some(target.as_ref().clone().into()),
+ target: Some(target.as_ref().clone()),
tooltip: None,
data: None,
}];
@@ -102,11 +94,11 @@ mod tests {
.build();
let target = tester.uri("bar/baz.tex");
- let actual_items = find_document_links(tester.link(), CancellationToken::none());
+ let actual_items = find_document_links(tester.link());
let expected_items = vec![DocumentLink {
range: Range::new_simple(0, 14, 0, 17),
- target: Some(target.as_ref().clone().into()),
+ target: Some(target.as_ref().clone()),
tooltip: None,
data: None,
}];