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