highlighter_core/lib.rs
1//! The core of the Highlighter crate.
2
3pub mod language;
4mod lexer;
5
6pub use regex::Error;
7
8pub use lexer::{LexerContext, Token, TokenHandler, TokenContext};
9use language::Language;
10use lexer::Lexer;
11
12
13/// Highlights the provided code block.
14pub fn highlight<L: Language>(language: L, src: &str) -> Result<Vec<Token>, Error> {
15 let lexer = Lexer::new(language)?;
16 Ok(lexer.lex(src))
17}