diff options
author | Norbert Preining <norbert@preining.info> | 2022-05-26 03:01:06 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-05-26 03:01:06 +0000 |
commit | 02d941fa9c9895bb08a84ac9afe3559abd1ba8ad (patch) | |
tree | 481d1d368c6d295a779b590d23bcd5397bcba628 /support/texlab/src/features/link.rs | |
parent | f01a37f8311f33e32441d25bdadcda9dcdbd165d (diff) |
CTAN sync 202205260301
Diffstat (limited to 'support/texlab/src/features/link.rs')
-rw-r--r-- | support/texlab/src/features/link.rs | 30 |
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, }]; |