blob: 72669bf69432031364de8c25fde969a6af96db6b [file] [log] [blame]
mod hashset;
mod ordset;
mod vector;
fn code_fmt(code: &str) -> String {
use syntect::easy::HighlightLines;
use syntect::highlighting::{Style, ThemeSet};
use syntect::parsing::SyntaxSet;
use syntect::util::{as_24_bit_terminal_escaped, LinesWithEndings};
let ps = SyntaxSet::load_defaults_newlines();
let ts = ThemeSet::load_defaults();
let syntax = ps.find_syntax_by_extension("rs").unwrap();
let mut h = HighlightLines::new(syntax, &ts.themes["base16-ocean.dark"]);
let mut out = String::from("\n\n");
for line in LinesWithEndings::from(&code) {
let ranges: Vec<(Style, &str)> = h.highlight(line, &ps);
let escaped = as_24_bit_terminal_escaped(&ranges[..], false);
out += &escaped;
}
out += "\n\x1b[0m";
out
}