Fallback to using tree-sitter when determining ranges for info popovers (#16062)

Closes #15382

Release Notes:

- Added fallback to a smallest tree sitter node when hovering over a
symbol
This commit is contained in:
Stanislav Alekseev 2024-08-13 13:01:14 +03:00 committed by GitHub
parent af36d4934c
commit c2b254a67a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -398,6 +398,14 @@ fn show_hover(
Some(start..end)
})
.or_else(|| {
let snapshot = &snapshot.buffer_snapshot;
let offset_range = snapshot.range_for_syntax_ancestor(anchor..anchor)?;
Some(
snapshot.anchor_before(offset_range.start)
..snapshot.anchor_after(offset_range.end),
)
})
.unwrap_or_else(|| anchor..anchor);
let blocks = hover_result.contents;