From ddada4509729b0b8dcc394737d7eec588df51040 Mon Sep 17 00:00:00 2001 From: Laurenz Date: Sun, 20 Nov 2022 23:32:30 +0100 Subject: Tracepoints for show rules --- src/model/eval.rs | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) (limited to 'src/model/eval.rs') diff --git a/src/model/eval.rs b/src/model/eval.rs index 2ed8c13b..8a596afb 100644 --- a/src/model/eval.rs +++ b/src/model/eval.rs @@ -155,29 +155,30 @@ impl Eval for ast::MarkupNode { type Output = Content; fn eval(&self, vm: &mut Vm) -> SourceResult { - match self { - Self::Space(v) => Ok(match v.newlines() { + Ok(match self { + Self::Space(v) => match v.newlines() { 0..=1 => (vm.items.space)(), _ => (vm.items.parbreak)(), - }), - Self::Linebreak(v) => v.eval(vm), - Self::Text(v) => v.eval(vm), - Self::Escape(v) => Ok((vm.items.text)(v.get().into())), - Self::Shorthand(v) => v.eval(vm), - Self::SmartQuote(v) => v.eval(vm), - Self::Strong(v) => v.eval(vm), - Self::Emph(v) => v.eval(vm), - Self::Link(v) => v.eval(vm), - Self::Raw(v) => v.eval(vm), - Self::Math(v) => v.eval(vm), - Self::Heading(v) => v.eval(vm), - Self::List(v) => v.eval(vm), - Self::Enum(v) => v.eval(vm), - Self::Desc(v) => v.eval(vm), - Self::Label(v) => v.eval(vm), - Self::Ref(v) => v.eval(vm), - Self::Expr(v) => v.eval(vm).map(|value| value.display(vm.world)), + }, + Self::Linebreak(v) => v.eval(vm)?, + Self::Text(v) => v.eval(vm)?, + Self::Escape(v) => (vm.items.text)(v.get().into()), + Self::Shorthand(v) => v.eval(vm)?, + Self::SmartQuote(v) => v.eval(vm)?, + Self::Strong(v) => v.eval(vm)?, + Self::Emph(v) => v.eval(vm)?, + Self::Link(v) => v.eval(vm)?, + Self::Raw(v) => v.eval(vm)?, + Self::Math(v) => v.eval(vm)?, + Self::Heading(v) => v.eval(vm)?, + Self::List(v) => v.eval(vm)?, + Self::Enum(v) => v.eval(vm)?, + Self::Desc(v) => v.eval(vm)?, + Self::Label(v) => v.eval(vm)?, + Self::Ref(v) => v.eval(vm)?, + Self::Expr(v) => v.eval(vm)?.display(vm.world), } + .spanned(self.span())) } } -- cgit v1.2.3