Crates.io | hl_core |
lib.rs | hl_core |
version | 0.1.3 |
source | src |
created_at | 2022-08-15 14:27:21.153848 |
updated_at | 2022-08-17 10:29:47.747375 |
description | Syntax highlighting in Rust |
homepage | https://github.com/ahmadrosid/hl/tree/master/crates/core |
repository | https://github.com/ahmadrosid/hl/tree/master/crates/core |
max_upload_size | |
id | 645961 |
size | 451,219 |
Github like Syntax highlighter in rust. See the result in browser here.
use std::path::Path;
use hl::render_html;
use std::fs::read_to_string;
fn main() {
let file_path = std::env::args().nth(1).unwrap_or(String::new());
let language_flag = std::env::args().nth(2).unwrap_or(String::new());
let lang = std::env::args().nth(3).unwrap_or(String::from("raw"));
let path = Path::new(&file_path);
if !path.exists() {
println!("File path not found! {}", &file_path);
std::process::exit(1);
}
if language_flag.is_empty() {
println!("Language flag is required! e.g -l javascript");
std::process::exit(1);
}
let input = read_to_string(path).unwrap().chars().collect::<Vec<_>>();
let result = render_html(input, &lang);
print!("{}", result)
}
Run
cargo run html examples/html.rs