fix: only apply comments if relevant

This commit is contained in:
Jonathan Kelley 2022-07-05 17:59:33 -04:00
parent fa9ebe17cc
commit 19e6e43358
6 changed files with 35 additions and 1 deletions

View file

@ -127,7 +127,9 @@ impl Buffer {
for child in children {
// Exprs handle their own indenting/line breaks
if !matches!(child, BodyNode::RawExpr(_)) {
self.write_comments(child.span())?;
if self.current_span_is_primary(child.span()) {
self.write_comments(child.span())?;
}
self.tabbed_line()?;
}

View file

@ -23,3 +23,4 @@ twoway! ("complex" => complex);
twoway! ("tiny" => tiny);
twoway! ("tinynoopt" => tinynoopt);

View file

@ -1,4 +1,9 @@
rsx! {
div {
// Comments
class: "asdasd",
"hello world"
}
div {
// My comment here 1
// My comment here 2

View file

@ -0,0 +1,14 @@
macro_rules! twoway {
($val:literal => $name:ident) => {
#[test]
fn $name() {
let src_right = include_str!(concat!("./wrong/", $val, ".rsx"));
let src_wrong = include_str!(concat!("./wrong/", $val, ".wrong.rsx"));
let formatted = dioxus_autofmt::fmt_file(src_wrong);
let out = dioxus_autofmt::apply_formats(src_wrong, formatted);
pretty_assertions::assert_eq!(&src_right, &out);
}
};
}
twoway!("comments" => comments);

View file

@ -0,0 +1,7 @@
rsx! {
div {
// Comments
class: "asdasd",
"hello world"
}
}

View file

@ -0,0 +1,5 @@
rsx! {
div {
// Comments
class: "asdasd", "hello world" }
}