Skip to main content

oak_html/
lib.rs

1#![doc = include_str!("readme.md")]
2#![feature(new_range_api)]
3#![feature(portable_simd)]
4#![allow(missing_docs)]
5#![doc = include_str!("../readme.md")]
6#![doc(html_logo_url = "https://raw.githubusercontent.com/ygg-lang/oaks/refs/heads/dev/documents/logo.svg")]
7#![doc(html_favicon_url = "https://raw.githubusercontent.com/ygg-lang/oaks/refs/heads/dev/documents/logo.svg")]
8//! Html support for the Oak language framework.
9
10/// AST module for HTML nodes.
11pub mod ast;
12/// Builder module for constructing HTML trees.
13pub mod builder;
14/// Kind module defining HTML syntax types.
15/// Language module for HTML configuration.
16pub mod language;
17/// Lexer module for HTML tokenization.
18pub mod lexer;
19/// LSP module for HTML language service features.
20#[cfg(any(feature = "lsp", feature = "oak-highlight", feature = "oak-pretty-print"))]
21pub mod lsp;
22/// MCP module.
23#[cfg(feature = "mcp")]
24pub mod mcp;
25
26/// Parser module for HTML syntax analysis.
27pub mod parser;
28
29pub use crate::{ast::HtmlDocument, builder::HtmlBuilder, language::HtmlLanguage, lexer::HtmlLexer, parser::HtmlParser};
30
31/// Re-export of the HTML highlighter.
32#[cfg(feature = "oak-highlight")]
33pub use crate::lsp::highlighter::HtmlHighlighter;
34
35/// Re-export of the HTML language service.
36#[cfg(feature = "lsp")]
37pub use crate::lsp::HtmlLanguageService;
38pub use lexer::token_type::HtmlTokenType;
39pub use parser::element_type::HtmlElementType;