summaryrefslogtreecommitdiff
path: root/src/layout/tree.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/layout/tree.rs')
-rw-r--r--src/layout/tree.rs27
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();