use std::fs; use std::path::PathBuf; use syntect::highlighting::ThemeSet; use syntect::html::highlighted_html_for_string; use syntect::parsing::SyntaxSet; pub fn get_pretty_body(path: &PathBuf, ext: &String) -> String { let ss = SyntaxSet::load_defaults_newlines(); let mut theme_cursor = std::io::Cursor::new(include_bytes!("../../themes/ayu_dark.tmTheme")); let theme = ThemeSet::load_from_reader(&mut theme_cursor).unwrap(); let content = fs::read_to_string(path).unwrap(); let syntax = ss .find_syntax_by_token(ext) .unwrap_or_else(|| ss.find_syntax_plain_text()); let html = highlighted_html_for_string(&content, &ss, syntax, &theme); html }