Expand description
Collection of assorted algorithms for syntax trees.
Functionsยง
- 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 didfind_token_at_offset(...).flat_map(|t| t.parent().ancestors())
. - Finds a node of specific Ast type at offset. Note that this is slightly imprecise: if the cursor is strictly between two nodes of the desired type, as in
- Finds the first sibling in the given direction which is not
trivia
- Skip to next non
trivia
token - Skip to next non
whitespace
token