From 2b6ccd82489afbcd679fb3199de2618fa8811325 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Fri, 1 Jan 2021 16:33:08 +0100 Subject: =?UTF-8?q?Better=20parser=20testing=20=E2=9C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/eval/mod.rs | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'src/eval/mod.rs') diff --git a/src/eval/mod.rs b/src/eval/mod.rs index ed73b07c..c4da1fe0 100644 --- a/src/eval/mod.rs +++ b/src/eval/mod.rs @@ -18,9 +18,9 @@ use std::rc::Rc; use fontdock::FontStyle; +use crate::color::Color; use crate::diag::Diag; use crate::diag::{Deco, Feedback, Pass}; -use crate::color::Color; use crate::env::SharedEnv; use crate::geom::{BoxAlign, Dir, Flow, Gen, Length, Linear, Relative, Sides, Size}; use crate::layout::{ @@ -328,6 +328,11 @@ impl Eval for SynNode { fn eval(&self, ctx: &mut EvalContext) -> Self::Output { match self { + SynNode::Text(text) => { + let node = ctx.make_text_node(text.clone()); + ctx.push(node); + } + SynNode::Space => { let em = ctx.state.font.font_size(); ctx.push(Spacing { @@ -336,11 +341,6 @@ impl Eval for SynNode { }); } - SynNode::Text(text) => { - let node = ctx.make_text_node(text.clone()); - ctx.push(node); - } - SynNode::Linebreak => { ctx.end_par_group(); ctx.start_par_group(); @@ -356,10 +356,12 @@ impl Eval for SynNode { ctx.start_par_group(); } - SynNode::Emph => ctx.state.font.emph ^= true, SynNode::Strong => ctx.state.font.strong ^= true, + SynNode::Emph => ctx.state.font.emph ^= true, + SynNode::Heading(heading) => heading.eval(ctx), SynNode::Raw(raw) => raw.eval(ctx), + SynNode::Expr(expr) => expr.eval(ctx).eval(ctx), } } -- cgit v1.2.3