From b613eab2f016673a1e8e17006c44d1e6b3360ab5 Mon Sep 17 00:00:00 2001 From: Cameron Date: Fri, 17 Nov 2023 17:41:27 +0000 Subject: [PATCH] feat(prettier) print for of statements (#1385) --- crates/oxc_prettier/src/format/mod.rs | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/crates/oxc_prettier/src/format/mod.rs b/crates/oxc_prettier/src/format/mod.rs index 8f266edc7..ba0667a86 100644 --- a/crates/oxc_prettier/src/format/mod.rs +++ b/crates/oxc_prettier/src/format/mod.rs @@ -189,13 +189,31 @@ impl<'a> Format<'a> for ForInStatement<'a> { impl<'a> Format<'a> for ForOfStatement<'a> { fn format(&self, p: &mut Prettier<'a>) -> Doc<'a> { - Doc::Line + let mut parts = p.vec(); + + parts.push(ss!("for")); + + if self.r#await { + parts.push(ss!(" await")); + } + parts.push(ss!(" (")); + parts.push(format!(p, self.left)); + parts.push(ss!(" of ")); + parts.push(format!(p, self.right)); + parts.push(ss!(")")); + parts.push(format!(p, self.body)); + + Doc::Group(parts) } } impl<'a> Format<'a> for ForStatementLeft<'a> { fn format(&self, p: &mut Prettier<'a>) -> Doc<'a> { - Doc::Line + match self { + ForStatementLeft::VariableDeclaration(v) => v.format(p), + ForStatementLeft::AssignmentTarget(v) => v.format(p), + ForStatementLeft::UsingDeclaration(v) => v.format(p), + } } }