From 52b498d3c82175e97a294e96611fb1220a6dafd2 Mon Sep 17 00:00:00 2001 From: PoiScript Date: Fri, 17 Nov 2023 17:07:04 +0800 Subject: [PATCH] feat: add parse example --- examples/parse.rs | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 examples/parse.rs diff --git a/examples/parse.rs b/examples/parse.rs new file mode 100644 index 0000000..c272fd5 --- /dev/null +++ b/examples/parse.rs @@ -0,0 +1,30 @@ +//! ```bash +//! cargo run --example parse '* hello\n** /world/!' +//! ``` + +use orgize::Org; +use rowan::ast::AstNode; +use std::env::args; +use tracing_subscriber::fmt::format::FmtSpan; + +fn main() { + let args: Vec<_> = args().collect(); + + tracing_subscriber::fmt() + .without_time() + .with_file(true) + .with_span_events(FmtSpan::NEW) + .with_line_number(true) + .with_max_level(tracing::Level::TRACE) + .with_file(false) + .with_line_number(false) + .init(); + + if args.len() < 2 { + eprintln!("Usage: {} ", args[0]); + } else { + let s = &args[1].replace(r#"\n"#, "\n").replace(r#"\r"#, "\r"); + let org = Org::parse(&s); + println!("{:#?}", org.document().syntax()); + } +}