From 4c06c8554c35887f8f5147783953b2b7e7c2327f Mon Sep 17 00:00:00 2001 From: Titus Wormer Date: Wed, 8 Jun 2022 15:52:16 +0200 Subject: . --- src/parser.rs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 src/parser.rs (limited to 'src/parser.rs') diff --git a/src/parser.rs b/src/parser.rs new file mode 100644 index 0000000..10c6e7a --- /dev/null +++ b/src/parser.rs @@ -0,0 +1,14 @@ +//! Turn a string of markdown into events. +// To do: this should start with `containers`, when they’re done. +// To do: definitions and such will mean more data has to be passed around. +use crate::content::flow::flow; +use crate::tokenizer::{as_codes, Code, Event}; + +/// Turn a string of markdown into events. +/// Passes the codes back so the compiler can access the source. +pub fn parse(value: &str) -> (Vec, Vec) { + let codes = as_codes(value); + // To do: pass a reference to this around, and slices in the (back)feeding. Might be tough. + let events = flow(codes.clone()); + (events, codes) +} -- cgit