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
6pub mod ast;
7pub mod kind;
8pub mod language;
9pub mod lexer;
10pub mod parser;
11
12mod builder;
13mod formatter;
14pub mod highlighter;
15pub mod lsp;
16#[cfg(feature = "mcp")]
17pub mod mcp;
18
19pub use crate::{builder::RubyBuilder, formatter::RubyFormatter, highlighter::RubyHighlighter, kind::RubySyntaxKind, language::RubyLanguage, lexer::RubyLexer, lsp::RubyLanguageService, parser::RubyParser};
20
21#[cfg(feature = "mcp")]
22pub use crate::mcp::serve_ruby_mcp;
23
24#[cfg(all(feature = "mcp", feature = "axum"))]
25pub use crate::mcp::serve_ruby_mcp_axum;