make handle_references
accept refs from other files
This commit is contained in:
parent
df8441b24e
commit
79e6b3b0d1
@ -481,7 +481,6 @@ pub fn handle_references(
|
|||||||
params: req::ReferenceParams,
|
params: req::ReferenceParams,
|
||||||
) -> Result<Option<Vec<Location>>> {
|
) -> Result<Option<Vec<Location>>> {
|
||||||
let position = params.text_document_position.try_conv_with(&world)?;
|
let position = params.text_document_position.try_conv_with(&world)?;
|
||||||
let line_index = world.analysis().file_line_index(position.file_id)?;
|
|
||||||
|
|
||||||
let refs = match world.analysis().find_all_refs(position)? {
|
let refs = match world.analysis().find_all_refs(position)? {
|
||||||
None => return Ok(None),
|
None => return Ok(None),
|
||||||
@ -490,13 +489,19 @@ pub fn handle_references(
|
|||||||
|
|
||||||
let locations = if params.context.include_declaration {
|
let locations = if params.context.include_declaration {
|
||||||
refs.into_iter()
|
refs.into_iter()
|
||||||
.filter_map(|r| to_location(r.file_id, r.range, &world, &line_index).ok())
|
.filter_map(|r| {
|
||||||
|
let line_index = world.analysis().file_line_index(r.file_id).ok()?;
|
||||||
|
to_location(r.file_id, r.range, &world, &line_index).ok()
|
||||||
|
})
|
||||||
.collect()
|
.collect()
|
||||||
} else {
|
} else {
|
||||||
// Only iterate over the references if include_declaration was false
|
// Only iterate over the references if include_declaration was false
|
||||||
refs.references()
|
refs.references()
|
||||||
.iter()
|
.iter()
|
||||||
.filter_map(|r| to_location(r.file_id, r.range, &world, &line_index).ok())
|
.filter_map(|r| {
|
||||||
|
let line_index = world.analysis().file_line_index(r.file_id).ok()?;
|
||||||
|
to_location(r.file_id, r.range, &world, &line_index).ok()
|
||||||
|
})
|
||||||
.collect()
|
.collect()
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user