summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/lib.rs b/src/lib.rs
index 25d9be1..dec06a5 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -50,6 +50,7 @@ struct Output {
50 50
51type Properties = HashMap<String, String>; 51type Properties = HashMap<String, String>;
52 52
53#[derive(Debug)]
53enum Token { 54enum Token {
54 Root(Vec<Token>), 55 Root(Vec<Token>),
55 Fragment(String,Properties,Vec<Token>), 56 Fragment(String,Properties,Vec<Token>),
@@ -111,7 +112,7 @@ impl Crimtag {
111 112
112 pub fn load_static(&mut self, data: &str) -> Result<(),Box::<dyn Error>> { 113 pub fn load_static(&mut self, data: &str) -> Result<(),Box::<dyn Error>> {
113 let mut p = parser::Parser::new(); 114 let mut p = parser::Parser::new();
114 p.parse( &data ); 115 println!("Parsed token tree: {:?}", p.parse( &data )? );
115 116
116 Ok(()) 117 Ok(())
117 } 118 }
@@ -146,7 +147,20 @@ mod tests {
146 let mut ct = Crimtag::new(); 147 let mut ct = Crimtag::new();
147 if let Err(e) = ct.load_static(r#"Here is a sample 148 if let Err(e) = ct.load_static(r#"Here is a sample
148[|fragment "index" theme="standard"|><html><body>Hi</body></html><|fragment|] 149[|fragment "index" theme="standard"|><html><body>Hi</body></html><|fragment|]
149That was fun!"#) { 150That was fun! now a placeholder: [|fragment "placeholder"|] and now one with an implicit [|fragment "simple"|>Body [|show "content"|]<|fragment|] aoeu
151
152Now with explicit outputs:
153[|fragment "complex"|>
154 [|output "content"|>
155 Here's a [|show "name"|].
156 <|output|]
157 [|output "sidebar"|>
158 What's up world?
159 <|output|]
160 [|output "footer"|>
161 Same, I guess!
162 <|output|]
163<|fragment|]"#) {
150 println!("Error: {:?}", e ); 164 println!("Error: {:?}", e );
151 } else { 165 } else {
152 println!("It finished"); 166 println!("It finished");