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
|
mod entry;
mod label;
mod string;
use cancellation::CancellationToken;
use lsp_types::{Location, ReferenceParams};
use self::{
entry::find_entry_references, label::find_label_references, string::find_string_references,
};
use super::{cursor::CursorContext, FeatureRequest};
pub fn find_all_references(
request: FeatureRequest<ReferenceParams>,
cancellation_token: &CancellationToken,
) -> Option<Vec<Location>> {
let mut references = Vec::new();
let context = CursorContext::new(request);
log::debug!("[References] Cursor: {:?}", context.cursor);
find_label_references(&context, cancellation_token, &mut references);
find_entry_references(&context, cancellation_token, &mut references);
find_string_references(&context, cancellation_token, &mut references);
Some(references)
}
|