diff options
| author | Laurenz <laurmaedje@gmail.com> | 2020-10-02 15:43:29 +0200 |
|---|---|---|
| committer | Laurenz <laurmaedje@gmail.com> | 2020-10-02 15:43:29 +0200 |
| commit | 3533268b1f7a31581e7b8f44dff6d4f553ef348f (patch) | |
| tree | 3fee21d2df7ce173131f75f46a1ef040f272ed29 /src/layout/tree.rs | |
| parent | f8770d2b2a8ac389704897f92f2753398352835b (diff) | |
Refactor parser 🏞
Diffstat (limited to 'src/layout/tree.rs')
| -rw-r--r-- | src/layout/tree.rs | 27 |
1 files changed, 13 insertions, 14 deletions
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(); |
