1#![feature(new_range_api)]
2#![doc = include_str!("readme.md")]
3#![doc(html_logo_url = "https://raw.githubusercontent.com/ygg-lang/oaks/refs/heads/dev/documents/logo.svg")]
4#![doc(html_favicon_url = "https://raw.githubusercontent.com/ygg-lang/oaks/refs/heads/dev/documents/logo.svg")]
5#![allow(missing_docs)]
6
7pub mod ast;
8mod builder;
9mod kind;
10mod language;
11mod lexer;
12mod parser;
13
14#[cfg(feature = "oak-pretty-print")]
15mod formatter;
16#[cfg(feature = "oak-highlight")]
17mod highlighter;
18
19pub mod lsp;
20pub mod mcp;
21
22#[cfg(feature = "oak-pretty-print")]
23pub use crate::formatter::RegexFormatter;
24#[cfg(feature = "oak-highlight")]
25pub use crate::highlighter::RegexHighlighter;
26pub use crate::{
27 ast::RegexRoot,
28 kind::{RegexSyntaxKind, RegexToken},
29 language::RegexLanguage,
30 lexer::RegexLexer,
31 lsp::RegexLanguageService,
32 parser::RegexParser,
33};
34
35pub use crate::mcp::serve_regex_mcp;