summaryrefslogtreecommitdiff
path: root/src/eval
diff options
context:
space:
mode:
Diffstat (limited to 'src/eval')
-rw-r--r--src/eval/mod.rs16
1 files changed, 9 insertions, 7 deletions
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),
}
}