From 3533268b1f7a31581e7b8f44dff6d4f553ef348f Mon Sep 17 00:00:00 2001 From: Laurenz Date: Fri, 2 Oct 2020 15:43:29 +0200 Subject: =?UTF-8?q?Refactor=20parser=20=F0=9F=8F=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/layout/tree.rs | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) (limited to 'src/layout') diff --git a/src/layout/tree.rs b/src/layout/tree.rs index f8e4160c..56313383 100644 --- a/src/layout/tree.rs +++ b/src/layout/tree.rs @@ -58,10 +58,19 @@ impl<'a> TreeLayouter<'a> { }; match &node.v { - SynNode::Spacing => self.layout_space(), + SynNode::Space => self.layout_space(), + SynNode::Text(text) => { + if self.style.text.italic { + decorate(self, Decoration::Italic); + } + if self.style.text.bolder { + decorate(self, Decoration::Bold); + } + self.layout_text(text).await; + } + SynNode::Linebreak => self.layouter.finish_line(), SynNode::Parbreak => self.layout_parbreak(), - SynNode::ToggleItalic => { self.style.text.italic = !self.style.text.italic; decorate(self, Decoration::Italic); @@ -71,18 +80,8 @@ impl<'a> TreeLayouter<'a> { decorate(self, Decoration::Bold); } - SynNode::Text(text) => { - if self.style.text.italic { - decorate(self, Decoration::Italic); - } - if self.style.text.bolder { - decorate(self, Decoration::Bold); - } - self.layout_text(text).await; - } - - SynNode::Raw(raw) => self.layout_raw(raw).await, SynNode::Heading(heading) => self.layout_heading(heading).await, + SynNode::Raw(raw) => self.layout_raw(raw).await, SynNode::Expr(expr) => { self.layout_expr(expr.span_with(node.span)).await; @@ -116,7 +115,7 @@ impl<'a> TreeLayouter<'a> { async fn layout_heading(&mut self, heading: &NodeHeading) { let style = self.style.text.clone(); - self.style.text.font_scale *= 1.5 - 0.1 * heading.level.v.min(5) as f64; + self.style.text.font_scale *= 1.5 - 0.1 * heading.level.v as f64; self.style.text.bolder = true; self.layout_parbreak(); -- cgit v1.2.3