diff options
| author | Laurenz <laurmaedje@gmail.com> | 2022-11-20 23:32:30 +0100 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2022-11-20 23:32:30 +0100 |
| commit | ddada4509729b0b8dcc394737d7eec588df51040 (patch) | |
| tree | 828a84eea9488f14878bf0ca16ee121e20a9de29 /src/model/eval.rs | |
| parent | 46d469f4bee6afd6b0d7dfdb3f095b98b18ac5f9 (diff) | |
Tracepoints for show rules
Diffstat (limited to 'src/model/eval.rs')
| -rw-r--r-- | src/model/eval.rs | 41 |
1 files changed, 21 insertions, 20 deletions
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<Self::Output> { - 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())) } } |
