Skip to main contentCrate oaks
Source - builder
- Incremental tree builder and cache management.
- errors
- Error handling and diagnostic reporting for the parsing system.
- helpers
- Helper utilities for common operations.
Helper utilities for common operations in the Oak Core parsing framework.
- language
- Language definition trait for coordinating language-specific components.
- lexer
- Lexical analysis and tokenization functionality.
- memory
- Memory management utilities (Arena, Bump).
- parser
- Parsing functionality for converting tokens to kind trees.
- serde_arc_str
- Serde support for
triomphe::Arc<str>. - serde_range
- Serde support for
core::range::Range. - source
- Source text management and location tracking.
Source text management and location tracking for incremental parsing.
- tree
- Tree structures for representing kind trees (green and red trees).
Red-green tree implementation for efficient kind tree representation.
- visitor
- Tree traversal and transformation utilities.
Tree traversal and transformation utilities.
- Arc
- An atomically reference counted shared pointer
- FileMetadata
- Metadata for a file or directory in the VFS.
- FoldingRange
- Represents a folding range in a document.
- GreenNode
- A green node that contains child elements.
- Hover
- Represents hover information.
- LexerState
- State information for incremental lexical analysis.
- Location
- Represents a location inside a resource.
Can be either byte-based (Rust model) or line/column based (LSP model).
- LspRange
- Represents a range in a source file using line/character positions.
- MemoryVfs
- A memory-based Virtual File System implementation.
Ideal for WASM environments or testing where physical disk access is not available.
- OakDiagnostics
- Container for parsing results with associated diagnostics.
- OakError
- The main error type for the Oak Core parsing framework.
- OperatorInfo
- Precedence and associativity of an operator.
- ParseSession
- A memory pool that manages the lifecycle of parsing generations.
- ParserState
- High-level API for parsers, coordinating token supply and tree construction.
- Position
- Represents a position in a source file (line and character).
- PrattParser
- A Pratt parser implementation.
- RedLeaf
- A red leaf kind with absolute position information.
- RedNode
- A red node that wraps a green node with absolute offset information.
- SemanticToken
- Represents a semantic token for syntax highlighting.
- SourceText
- Represents source code text with optional source ID reference.
- StructureItem
- Represents an item in the document structure (e.g., in an outline or breadcrumbs).
- SymbolInformation
- Represents information about a symbol (e.g., function, variable, class).
- SyntaxArena
- A high-performance bump allocator optimized for AST nodes.
- TextEdit
- Represents a text edit operation for incremental updates.
- Token
- Represents a single kind in the source code.
- TokenStream
- A stream of tokens with associated source text.
- TreeSink
- Collects the results of the parsing process.
- RangeExperimental
- A (half-open) range bounded inclusively below and exclusively above
(
start..end in a future edition).
- Associativity
- Associativity of an operator.
- FileType
- Type of a file in the VFS.
- FoldingRangeKind
- Enum of folding range kinds.
- GreenTree
- A green tree element - either a node or a leaf kind.
- LanguageCategory
- Represents the broad category a language belongs to.
- OakErrorKind
- Enumeration of all possible error kinds in the Oak Core framework.
- RedTree
- A red tree element with absolute position information.
- UniversalElementRole
- Represents the general structural role of a syntax tree element.
- UniversalTokenRole
- Represents the general syntactic role of a token across diverse languages.
- Builder
- Trait for building higher-level structures (like ASTs) from source text.
- BuilderCache
- Cache trait for builder operations used by lexers and parsers.
- DefinitionProvider
- Trait for languages that support jumping to definition.
- ElementRole
- A trait for types that can represent an element’s structural role.
- ElementType
- Element type definitions for nodes in the parsed tree.
- FoldingProvider
- Trait for languages that support code folding.
- HoverProvider
- Trait for languages that support hover information.
- Language
- Language definition trait that coordinates all language-related types and behaviors.
- LanguageService
- Lexer
- Trait for tokenizing source code into sequences of tokens.
- LexerCache
- Cache trait for lexical results.
- ParseCache
- Trait for providing resources and caching for a parsing session.
- Parser
- Core parser trait that defines how to run the parser.
- Pratt
- A specification for a Pratt parser.
- ReferencesProvider
- Trait for languages that support finding references.
- SemanticTokensProvider
- Trait for languages that support semantic highlighting.
- Source
- Trait for abstract text sources.
- StructureProvider
- Trait for languages that support structure view and navigation.
- SymbolProvider
- Trait for languages that support symbol search and navigation.
- TokenRole
- A trait for types that can represent a token’s syntactic role.
- TokenType
- Token type definitions for tokens in the parsing system.
- Vfs
- A trait for a Virtual File System that can provide source content and location mapping.
- binary
- A helper for parsing binary (infix) expressions.
- parse
- Standalone parsing function that coordinates lexing and parsing.
- parse_one_pass
- Standalone parsing function that performs a complete parse without incremental reuse.
- postfix
- A helper for parsing postfix expressions.
- unary
- A helper for parsing unary (prefix) expressions.
- LexOutput
- Output type for lexical analysis operations, including diagnostics.
- ParseOutput
- The output of a parsing operation, containing the result and diagnostics.
- Tokens
- Output type for lexical analysis operations.