Node and tree operations
TreeWrapper.RootNode() returns a *Node. Walk performs depth-first
traversal and passes each node plus its depth to the callback. Returning false
from the callback skips that node's children. Filter returns all nodes with a
matching grammar type.
Node inspection
Node provides Type, Text, Children, NamedChildren, ChildByFieldName,
Parent, ChildCount, IsNamed, IsError, IsMissing, and Raw. The
Raw method is an escape hatch to the underlying tree-sitter node.
Coordinates
Position() and EndPosition() return a Position with Row and Column.
Both values are zero-based because they preserve tree-sitter coordinates. For
example, the first character in a file is row 0, column 0.
This differs from generated Markdown summaries, whose declaration line ranges are converted to one-based human-facing lines.
Resource lifetime
The Node and TreeWrapper values refer to the tree owned by FileResult.
Keep the result open while traversing and call FileResult.Close() only after
all tree access is complete.