tree-sitter-iter
A very simple pre-order iterator for tree-sitter CSTs.
This library is part of zizmor.
Usage
Given a tree_sitter::Tree, you can create a TreeIter to iterate
over its nodes in pre-order:
use TreeIter;
let tree: Tree = parse; // Your parsing logic here.
for node in new
TreeIter implements the standard Iterator trait, meaning that
you can use any of the normal iterator combinators. For example, to
filter only to nodes of a specific kind:
for node in new.filter
tree-sitter-iter's space and time performance is equivalent to a
walk of the tree using the TreeCursor APIs. In other words, it's
exactly the same as using a TreeCursor manually, but with a more ergonomic
iterator interface.
See the documentation for more details.