From 8934ddb590e8c7e6edb237548b82f7306221f268 Mon Sep 17 00:00:00 2001 From: Shannon Rothe Date: Wed, 22 Nov 2023 01:15:29 +1100 Subject: [PATCH] feat(prettier): basic `TaggedTemplateExpression` printing (#1486) --- crates/oxc_prettier/src/format/mod.rs | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/crates/oxc_prettier/src/format/mod.rs b/crates/oxc_prettier/src/format/mod.rs index 6d652f5b1..e70417308 100644 --- a/crates/oxc_prettier/src/format/mod.rs +++ b/crates/oxc_prettier/src/format/mod.rs @@ -916,6 +916,12 @@ impl<'a> Format<'a> for TSTypeParameterDeclaration<'a> { } } +impl<'a> Format<'a> for TSTypeParameterInstantiation<'a> { + fn format(&self, p: &mut Prettier<'a>) -> Doc<'a> { + Doc::Line + } +} + impl<'a> Format<'a> for TSTupleElement<'a> { fn format(&self, p: &mut Prettier<'a>) -> Doc<'a> { Doc::Line @@ -1732,7 +1738,19 @@ impl<'a> Format<'a> for TemplateElement { impl<'a> Format<'a> for TaggedTemplateExpression<'a> { fn format(&self, p: &mut Prettier<'a>) -> Doc<'a> { - Doc::Line + let mut parts = p.vec(); + + parts.push(format!(p, self.tag)); + + if let Some(type_parameters) = &self.type_parameters { + parts.push(string!(p, "<")); + parts.push(format!(p, type_parameters)); + parts.push(string!(p, ">")); + } + + parts.push(format!(p, self.quasi)); + + Doc::Array(parts) } }