summaryrefslogtreecommitdiff
path: root/src/eval/walk.rs
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-11-08 12:13:32 +0100
committerLaurenz <laurmaedje@gmail.com>2021-11-08 13:06:11 +0100
commit38c5c362419c5eee7a4fdc0b43d3a9dfb339a6d2 (patch)
tree51faa3f6bbc56f75636823adeea135ed76e1b33b /src/eval/walk.rs
parent75fffc1f9b6ef8bf258b2b1845a4ba74a0f5f2c1 (diff)
Final touches
Diffstat (limited to 'src/eval/walk.rs')
-rw-r--r--src/eval/walk.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/eval/walk.rs b/src/eval/walk.rs
index 1656929b..aab32f40 100644
--- a/src/eval/walk.rs
+++ b/src/eval/walk.rs
@@ -33,6 +33,7 @@ impl Walk for MarkupNode {
Self::Emph => ctx.template.modify(|s| s.text_mut().emph.flip()),
Self::Text(text) => ctx.template.text(text),
Self::Raw(raw) => raw.walk(ctx)?,
+ Self::Math(math) => math.walk(ctx)?,
Self::Heading(heading) => heading.walk(ctx)?,
Self::List(list) => list.walk(ctx)?,
Self::Enum(enum_) => enum_.walk(ctx)?,
@@ -67,6 +68,22 @@ impl Walk for RawNode {
}
}
+impl Walk for MathNode {
+ fn walk(&self, ctx: &mut EvalContext) -> TypResult<()> {
+ if self.display {
+ ctx.template.parbreak();
+ }
+
+ ctx.template.monospace(self.formula.trim());
+
+ if self.display {
+ ctx.template.parbreak();
+ }
+
+ Ok(())
+ }
+}
+
impl Walk for HeadingNode {
fn walk(&self, ctx: &mut EvalContext) -> TypResult<()> {
let level = self.level();