Skip to content

Commit

Permalink
[Refacto] Compute formatted_tag_name only once
Browse files Browse the repository at this point in the history
  • Loading branch information
UnknownPlatypus committed Feb 3, 2025
1 parent d7532a1 commit 81ceae9
Showing 1 changed file with 13 additions and 16 deletions.
29 changes: 13 additions & 16 deletions markup_fmt/src/printer.rs
Original file line number Diff line number Diff line change
Expand Up @@ -400,19 +400,24 @@ impl<'s> DocGen<'s> for Element<'s> {
.split_once(':')
.and_then(|(namespace, name)| namespace.eq_ignore_ascii_case("html").then_some(name))
.unwrap_or(self.tag_name);
let formatted_tag_name = if matches!(
ctx.language,
Language::Html | Language::Jinja | Language::Vento
) && css_dataset::tags::STANDARD_HTML_TAGS
.iter()
.any(|tag| tag.eq_ignore_ascii_case(self.tag_name))
{
Cow::from(self.tag_name.to_ascii_lowercase())
} else {
Cow::from(self.tag_name)
};
let is_root = state.is_root;
let mut state = State {
current_tag_name: Some(tag_name),
is_root: false,
in_svg: tag_name.eq_ignore_ascii_case("svg"),
indent_level: state.indent_level,
};
let should_lower_cased = matches!(
ctx.language,
Language::Html | Language::Jinja | Language::Vento
) && css_dataset::tags::STANDARD_HTML_TAGS
.iter()
.any(|tag| tag.eq_ignore_ascii_case(self.tag_name));

let self_closing = if helpers::is_void_element(tag_name, ctx.language) {
ctx.options
Expand Down Expand Up @@ -447,11 +452,7 @@ impl<'s> DocGen<'s> for Element<'s> {
let mut docs = Vec::with_capacity(5);

docs.push(Doc::text("<"));
docs.push(Doc::text(if should_lower_cased {
Cow::from(self.tag_name.to_ascii_lowercase())
} else {
Cow::from(self.tag_name)
}));
docs.push(Doc::text(formatted_tag_name.clone()));

match self.attrs.as_slice() {
[single_attr] if !is_whitespace_sensitive => {
Expand Down Expand Up @@ -777,11 +778,7 @@ impl<'s> DocGen<'s> for Element<'s> {

docs.push(
Doc::text("</")
.append(Doc::text(if should_lower_cased {
Cow::from(self.tag_name.to_ascii_lowercase())
} else {
Cow::from(self.tag_name)
}))
.append(Doc::text(formatted_tag_name))
.append(Doc::line_or_nil())
.append(Doc::text(">"))
.group(),
Expand Down

0 comments on commit 81ceae9

Please sign in to comment.