oak_javascript/
lib.rs

1#![feature(new_range_api)]
2#![feature(portable_simd)]
3#![doc = include_str!("readme.md")]
4#![doc(html_logo_url = "https://raw.githubusercontent.com/ygg-lang/oaks/refs/heads/dev/documents/logo.svg")]
5#![doc(html_favicon_url = "https://raw.githubusercontent.com/ygg-lang/oaks/refs/heads/dev/documents/logo.svg")]
6
7extern crate oak_core;
8extern crate serde;
9
10pub mod ast;
11mod builder;
12mod formatter;
13pub mod highlighter;
14pub mod kind;
15pub mod language;
16pub mod lexer;
17pub mod lsp;
18#[cfg(feature = "mcp")]
19pub mod mcp;
20pub mod parser;
21
22// 重新导出主要类型
23pub use crate::{
24    ast::JavaScriptRoot, builder::JavaScriptBuilder, formatter::JavaScriptFormatter, highlighter::JavaScriptHighlighter, kind::JavaScriptSyntaxKind, language::JavaScriptLanguage, lexer::JavaScriptLexer, lsp::JavaScriptLanguageService,
25    parser::JavaScriptParser,
26};
27
28#[cfg(feature = "mcp")]
29pub use crate::mcp::serve_javascript_mcp;
30
31#[cfg(all(feature = "mcp", feature = "axum"))]
32pub use crate::mcp::serve_javascript_mcp_axum;