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))
}