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 did find_token_at_offset(...).flat_map(|t| t.parent().ancestors())
.
Finds a (potentially minimal) diff, which, applied to from
, will result in to
.
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