diff --git a/dprint_plugin/tests/integration/dprint_ts/basic.vue.snap b/dprint_plugin/tests/integration/dprint_ts/basic.vue.snap
index a625df4..f40039e 100644
--- a/dprint_plugin/tests/integration/dprint_ts/basic.vue.snap
+++ b/dprint_plugin/tests/integration/dprint_ts/basic.vue.snap
@@ -30,13 +30,11 @@ function greet(msg: string) {
close();
'
/>
-
+
diff --git a/markup_fmt/src/printer.rs b/markup_fmt/src/printer.rs
index 25c84fe..d3c116b 100644
--- a/markup_fmt/src/printer.rs
+++ b/markup_fmt/src/printer.rs
@@ -455,8 +455,17 @@ impl<'s> DocGen<'s> for Element<'s> {
docs.push(Doc::text(formatted_tag_name.clone()));
match self.attrs.as_slice() {
- [single_attr] if !is_whitespace_sensitive => {
- // Try to avoid breaking on multiple lines for a single attribute.
+ [single_attr]
+ if !is_whitespace_sensitive
+ && !matches!(
+ single_attr,
+ Attribute::JinjaBlock(..)
+ | Attribute::JinjaTag(..)
+ | Attribute::VentoTagOrBlock(..)
+ ) =>
+ {
+ // Avoid breaking on multiple lines for a single attribute in non whitespace sensitive context.
+ // Skip this for templating Blocks because they usually span across multiple lines.
docs.push(Doc::space());
docs.push(single_attr.doc(ctx, &state));
@@ -515,7 +524,6 @@ impl<'s> DocGen<'s> for Element<'s> {
)
.nest(ctx.indent_width)
};
-
if self.void_element {
docs.push(attrs);
diff --git a/markup_fmt/tests/fmt/jinja/attributes/single-attr.jinja b/markup_fmt/tests/fmt/jinja/attributes/single-attr.jinja
new file mode 100644
index 0000000..b5f1e05
--- /dev/null
+++ b/markup_fmt/tests/fmt/jinja/attributes/single-attr.jinja
@@ -0,0 +1,23 @@
+
|
+
+
+
+
+
+
\ No newline at end of file
diff --git a/markup_fmt/tests/fmt/jinja/attributes/single-attr.snap b/markup_fmt/tests/fmt/jinja/attributes/single-attr.snap
new file mode 100644
index 0000000..18a36f4
--- /dev/null
+++ b/markup_fmt/tests/fmt/jinja/attributes/single-attr.snap
@@ -0,0 +1,39 @@
+---
+source: markup_fmt/tests/fmt.rs
+---
+
+
+
+
+
+
+
+
+
+
+
diff --git a/markup_fmt/tests/fmt/jinja/attributes/tag-or-block-as-attr.snap b/markup_fmt/tests/fmt/jinja/attributes/tag-or-block-as-attr.snap
index bd3bf57..9c72335 100644
--- a/markup_fmt/tests/fmt/jinja/attributes/tag-or-block-as-attr.snap
+++ b/markup_fmt/tests/fmt/jinja/attributes/tag-or-block-as-attr.snap
@@ -1,6 +1,5 @@
---
source: markup_fmt/tests/fmt.rs
-snapshot_kind: text
---
-
+
Details
Something small enough to escape casual notice.
@@ -144,12 +141,14 @@ snapshot_kind: text
{% endif %}
{% endfor %}
-
+