Expand description
§🛠️ Developer Guide
Dejavu support for the Oak language framework.
This directory contains the core logic implementation of the project. Below are instructions for a quick start.
§🚦 Quick Start
§Core API Usage
// Example: Basic calling workflow
fn main() {
// 1. Initialization
// 2. Execute core logic
// 3. Handle returned results
}§🔍 Module Description
- lib.rs: Exports public interfaces and core traits.
- parser/ (if exists): Implements specific syntax parsing logic.
- ast/ (if exists): Defines the syntax tree structure.
§🏗️ Architecture Design
The project follows the general architectural specifications of the Oak ecosystem, emphasizing:
- Immutability: Uses the Green/Red Tree structure to ensure efficient sharing of syntax trees.
- Fault Tolerance: Core logic is highly inclusive of erroneous input.
- Scalability: Convenient for downstream tools to perform secondary development.
Re-exports§
pub use crate::ast::DejavuRoot;pub use crate::language::DejavuLanguage;pub use crate::lexer::DejavuLexer;pub use crate::parser::DejavuParser;pub use crate::builder::DejavuBuilder;pub use crate::lsp::highlighter::DejavuHighlighter;pub use crate::lsp::DejavuLanguageService;pub use crate::lsp::formatter::DejavuFormatter;pub use crate::mcp::serve_dejavu_mcp;pub use lexer::token_type::DejavuTokenType;pub use parser::element_type::DejavuElementType;
Modules§
- ast
- AST module.
- builder
- Builder module.
- language
- Language configuration module.
- lexer
- Lexer module.
- lsp
- LSP module.
- mcp
- MCP module.
- parser
- Parser module.
Traits§
- Element
Type - A trait for types that represent an element’s kind in a syntax tree.
- Token
Type - A trait for types that represent a token’s kind in a specific language.
Functions§
- parse
- Parses a DejaVu template string into a
DejavuRootAST.