From 1a6db195cbf765e5702f271f80d36f6ff81a1a54 Mon Sep 17 00:00:00 2001 From: Tom Alexander Date: Fri, 8 May 2020 20:58:32 -0400 Subject: [PATCH] Starting a context for partial parameters. --- src/parser/mod.rs | 1 + src/parser/parser.rs | 2 +- src/renderer/renderer.rs | 6 ++++++ 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/parser/mod.rs b/src/parser/mod.rs index 588c8f9..9a7f16b 100644 --- a/src/parser/mod.rs +++ b/src/parser/mod.rs @@ -6,6 +6,7 @@ pub use parser::template; pub use parser::Body; pub use parser::DustTag; pub use parser::Filter; +pub use parser::RValue; pub use parser::Special; pub use parser::Template; pub use parser::TemplateElement; diff --git a/src/parser/parser.rs b/src/parser/parser.rs index 2ecef7a..090155f 100644 --- a/src/parser/parser.rs +++ b/src/parser/parser.rs @@ -119,7 +119,7 @@ pub struct Partial<'a> { } #[derive(Clone, Debug, PartialEq)] -enum RValue<'a> { +pub enum RValue<'a> { RVPath(Path<'a>), RVString(String), } diff --git a/src/renderer/renderer.rs b/src/renderer/renderer.rs index 51bb7c0..4278135 100644 --- a/src/renderer/renderer.rs +++ b/src/renderer/renderer.rs @@ -1,6 +1,7 @@ use crate::parser::template; use crate::parser::Body; use crate::parser::DustTag; +use crate::parser::RValue; use crate::parser::Special; use crate::parser::Template; use crate::parser::TemplateElement; @@ -253,6 +254,11 @@ fn walk_path<'a>( }) } +struct ParametersContext<'a> { + params: HashMap<&'a str, RValue<'a>>, + breadcrumbs: &'a Vec<&'a dyn ContextElement>, +} + #[cfg(test)] mod tests { use super::*;