Expand description

A generic library for lossless syntax trees. See examples/s_expressions.rs for a tutorial.


pub use crate::api::Language;
pub use crate::api::SyntaxElement;
pub use crate::api::SyntaxElementChildren;
pub use crate::api::SyntaxNode;
pub use crate::api::SyntaxNodeChildren;
pub use crate::api::SyntaxToken;


Working with abstract syntax trees.
Implementation of the cursors – API for convenient access to syntax trees.


A checkpoint for maybe wrapping a node. See GreenNodeBuilder::checkpoint for details.
Internal node in the immutable tree. It has other nodes and tokens as children.
A builder for a green tree.
Leaf node in the immutable tree.
Interner for GreenTokens and GreenNodes
SyntaxKind is a type tag for each token or node.
A range in text, represented as a pair of TextSize.
A measure of text length. Also, equivalently, an index into text.


There might be zero, one or two leaves at a given offset.
WalkEvent describes tree walking process.


Primitives with a textual length that can be passed to TextSize::of.