Crate rowan

Source
Expand description

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

Re-exports§

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;

Modules§

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

Structs§

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

Enums§

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

Traits§

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