Package-level declarations
Types
Configuration for Tree.balance.
Abstraction for iterating over a tree buffer. A cursor initially points at the very last element in the buffer. Every time next is called it moves on to the previous one.
Represents a changed range for incremental parsing.
Specification for Tree.iterate.
Info about a mounted tree inside another tree.
Objects returned by the function passed to parseMixed should conform to this interface.
Linked list of syntax nodes returned by Tree.resolveStack.
Associates values with (syntax) nodes, using their identity as a key. In Kotlin/multiplatform we use a regular HashMap keyed by the backing Tree instance + position, since true WeakReferences aren't available cross-platform.
Type-safe representation of a NestedParse overlay.
Result returned by a ParseOverlay.Predicate match function.
Type for a function that wraps a PartialParse in additional logic.
Interface for incremental parsing.
A simple string-based Input implementation.
A syntax node that provides navigation to parent and siblings.
Interface for a reference to a syntax node in a tree.
Tree buffers contain (type, start, end, endIndex) quads for each node. In such a buffer, nodes are stored in prefix order (parents before children, with the endIndex of the parent indicating which children belong to it).
Type-safe representation of a tree buffer source — either a flat List of ints or a BufferCursor for streaming construction.
Build specification for tree construction from a buffer cursor or flat buffer.
Mutable tree walker. Walks a Tree depth-first, handling both Tree and TreeBuffer children.
Properties
The default maximum length of a TreeBuffer node.
Functions
Create a parse wrapper that, after the inner parse completes, scans its tree for mixed language regions with the nest function, runs the resulting inner parses, and then mounts their results onto the tree.