syntax::algo

Function ancestors_at_offset

source
pub fn ancestors_at_offset(
    node: &SyntaxNode,
    offset: TextSize,
) -> impl Iterator<Item = SyntaxNode>
Expand description

Returns ancestors of the node at the offset, sorted by length. This should do the right thing at an edge, e.g. when searching for expressions at { $0foo } we will get the name reference instead of the whole block, which we would get if we just did find_token_at_offset(...).flat_map(|t| t.parent().ancestors()).