fix comments being eaten in autofmt

This commit is contained in:
Jonathan Kelley 2023-01-07 14:09:32 -08:00
parent a7f0df1507
commit 74421d47fd
4 changed files with 33 additions and 4 deletions

View file

@ -126,8 +126,13 @@ impl Buffer {
pub fn write_body_no_indent(&mut self, children: &[BodyNode]) -> Result { pub fn write_body_no_indent(&mut self, children: &[BodyNode]) -> Result {
let last_child = children.len(); let last_child = children.len();
let iter = children.iter().peekable().enumerate();
for (idx, child) in iter {
if self.current_span_is_primary(child.span()) {
self.write_comments(child.span())?;
}
for (idx, child) in children.iter().enumerate() {
match child { match child {
// check if the expr is a short // check if the expr is a short
BodyNode::RawExpr { .. } => { BodyNode::RawExpr { .. } => {
@ -138,9 +143,6 @@ impl Buffer {
} }
} }
_ => { _ => {
if self.current_span_is_primary(child.span()) {
self.write_comments(child.span())?;
}
self.tabbed_line()?; self.tabbed_line()?;
self.write_ident(child)?; self.write_ident(child)?;
} }

View file

@ -124,6 +124,7 @@ impl Buffer {
if !children.is_empty() { if !children.is_empty() {
self.write_body_indented(children)?; self.write_body_indented(children)?;
} }
self.tabbed_line()?; self.tabbed_line()?;
} }
} }

View file

@ -30,3 +30,6 @@ twoway! ("key" => key);
// Disabled because we can't handle comments on exprs yet // Disabled because we can't handle comments on exprs yet
twoway! ("multirsx" => multirsx); twoway! ("multirsx" => multirsx);
// Disabled because we can't handle comments on exprs yet
twoway! ("commentshard" => commentshard);

View file

@ -0,0 +1,23 @@
rsx! {
// Comments
div {
// Comments
class: "asdasd",
// Comments
"hello world",
// Comments
expr1,
// Comments
expr2,
// Comments
// Comments
// Comments
// Comments
// Comments
expr3
}
}