Module ra_ap_syntax::algo
source · Expand description
Collection of assorted algorithms for syntax trees.
Structs§
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 (potentially minimal) diff, which, applied to
from, will result into. - 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
triviatoken - Skip to next non
whitespacetoken