From 1dd2d0c7cb98c3584d64079459d83e3f4bfea2ba Mon Sep 17 00:00:00 2001 From: Kevin Amado Date: Wed, 9 Feb 2022 20:51:12 -0500 Subject: [PATCH] feat: root without max-width --- src/rules/root.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/rules/root.rs b/src/rules/root.rs index 5473245..16b2336 100644 --- a/src/rules/root.rs +++ b/src/rules/root.rs @@ -4,18 +4,24 @@ pub fn rule( ) -> std::collections::LinkedList { let mut steps = std::collections::LinkedList::new(); - let mut children = crate::children::Children::new(build_ctx, node); + let mut children = crate::children::Children::new_with_configuration( + build_ctx, node, true, + ); - let layout = if children.has_comments() { + let layout = if children.has_comments() || children.has_newlines() { &crate::config::Layout::Tall } else { build_ctx.config.layout() }; while children.has_next() { - children.drain_comments(|text| { - steps.push_back(crate::builder::Step::Comment(text)); - steps.push_back(crate::builder::Step::NewLine); + children.drain_comments_and_newlines(|element| match element { + crate::children::DrainCommentOrNewline::Comment(text) => { + steps.push_back(crate::builder::Step::Comment(text)); + steps.push_back(crate::builder::Step::NewLine); + steps.push_back(crate::builder::Step::Pad); + } + crate::children::DrainCommentOrNewline::Newline(_) => {} }); if let Some(child) = children.get_next() {