aboutsummaryrefslogtreecommitdiff
path: root/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs22
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();