Skip to content

Commit f9eb36c

Browse files
Don't create a tag element if there is no style to apply
1 parent 3315f0a commit f9eb36c

File tree

4 files changed

+9
-12
lines changed

4 files changed

+9
-12
lines changed

crates/anstyle-svg/src/lib.rs

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -512,18 +512,15 @@ fn write_fg_span(buffer: &mut String, span: SpanKind, element: &adapter::Element
512512
// No need to create an element if there is no class or href.
513513
write!(buffer, "{fragment}").unwrap();
514514
}
515-
write!(buffer, r#"<span"#).unwrap();
515+
write!(buffer, "<tspan").unwrap();
516516
write_classes(buffer, classes);
517-
write!(buffer, r#">"#).unwrap();
517+
buffer.write_str(">").unwrap();
518518
if let Some(hyperlink) = &element.url {
519-
write!(buffer, r#"<a href="{hyperlink}">"#).unwrap();
520-
need_closing_a = true;
521-
}
522-
write!(buffer, "{fragment}").unwrap();
523-
if need_closing_a {
524-
write!(buffer, r#"</a>"#).unwrap();
519+
write!(buffer, r#"<a href="{hyperlink}">{fragment}</a>"#).unwrap();
520+
} else {
521+
write!(buffer, "{fragment}").unwrap();
525522
}
526-
write!(buffer, r#"</span>"#).unwrap();
523+
write!(buffer, "</tspan>").unwrap();
527524
}
528525
SpanKind::Tspan => {
529526
write!(buffer, r#"<tspan"#).unwrap();

crates/anstyle-svg/tests/hyperlink-demo.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

crates/anstyle-svg/tests/rainbow.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

crates/anstyle-svg/tests/rg_linus.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)