1
0
Fork 0
website/src/hilighting.rs

16 lines
575 B
Rust
Raw Normal View History

2023-06-18 11:34:08 +02:00
use syntect::{highlighting::ThemeSet, parsing::SyntaxSet};
use tracing::error;
pub fn hilight(content: &str, lang: &str) -> color_eyre::Result<String> {
let ss = SyntaxSet::load_defaults_newlines();
let s = ss.find_syntax_by_extension(lang).unwrap_or_else(|| {
error!("Syntax not found for language: {}", lang);
ss.find_syntax_plain_text()
});
let ts = ThemeSet::load_defaults();
let theme = ts.themes.first_key_value().unwrap().1; // TODO
let res = syntect::html::highlighted_html_for_string(content, &ss, s, theme)?;
Ok(res)
}