diff options
Diffstat (limited to 'src/main.rs')
-rw-r--r-- | src/main.rs | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/src/main.rs b/src/main.rs index 3ca140c..be6b730 100644 --- a/src/main.rs +++ b/src/main.rs @@ -4,20 +4,26 @@ use std::fs::File; use std::io::prelude::*; use parser::lexer::Lexer; -use parser::parser::{Parser, AST}; +use clap::Parser; use crate::types::elements; use crate::types::elements::Renderable; +#[derive(clap::Parser, Debug)] +#[command(version, about, long_about = None)] +struct Args { + //Markdown file path + #[arg(short, long)] + filepath: String +} + fn main() { - // let doc = elements::HTML::new(); - // let doc = doc.render(); - // let mut file = File::create("out.html").unwrap(); - // file.write_all(doc.as_bytes()).unwrap(); - let md = "## Title\nText of a paragraph\n\n##### Second heading\nSome more text"; - let mut lexer = Lexer::new(md); + let args = Args::parse(); + let md = std::fs::read_to_string(args.filepath); + + let mut lexer = Lexer::new(md.unwrap().as_str()); lexer.scan(); - let mut parser = Parser::new(lexer); + let mut parser = parser::parser::Parser::new(lexer); parser.parse(); let root = parser.tree; let mut doc = elements::HTML::new(); |