mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 12:21:58 +00:00
fix(prettier) fix use chain formatting (#1605)
This commit is contained in:
parent
811b219b27
commit
502d61dc9f
3 changed files with 13 additions and 12 deletions
|
|
@ -146,16 +146,17 @@ fn choose_layout<'a>(
|
|||
|
||||
let is_tail = !is_assignment(right_expr);
|
||||
|
||||
let should_use_chain_formatting = matches!(p.parent_kind(), AstKind::AssignmentExpression(_))
|
||||
&& matches!(
|
||||
p.parent_parent_kind(),
|
||||
Some(AstKind::AssignmentExpression(_) | AstKind::VariableDeclarator(_))
|
||||
)
|
||||
&& (!is_tail
|
||||
|| !matches!(
|
||||
p.nth_parent_kind(3),
|
||||
Some(AstKind::ExpressionStatement(_) | AstKind::VariableDeclaration(_))
|
||||
));
|
||||
let should_use_chain_formatting =
|
||||
matches!(assignment_like_node, AssignmentLikeNode::AssignmentExpression(_))
|
||||
&& matches!(
|
||||
p.parent_kind(),
|
||||
AstKind::AssignmentExpression(_) | AstKind::VariableDeclarator(_)
|
||||
)
|
||||
&& (!is_tail
|
||||
|| !matches!(
|
||||
p.parent_parent_kind(),
|
||||
Some(AstKind::ExpressionStatement(_) | AstKind::VariableDeclaration(_))
|
||||
));
|
||||
|
||||
if should_use_chain_formatting {
|
||||
if !is_tail {
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ impl<'a> Prettier<'a> {
|
|||
(len >= 3).then(|| self.nodes[len - 3])
|
||||
}
|
||||
|
||||
#[allow(unused)]
|
||||
fn nth_parent_kind(&self, n: usize) -> Option<AstKind<'a>> {
|
||||
let len = self.nodes.len();
|
||||
(len > n).then(|| self.nodes[len - n - 1])
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Compatibility: 216/561 (38.50%)
|
||||
Compatibility: 217/561 (38.68%)
|
||||
|
||||
# Failed
|
||||
|
||||
|
|
@ -48,7 +48,6 @@ Compatibility: 216/561 (38.50%)
|
|||
* assignment/issue-15534.js
|
||||
* assignment/issue-2482-2.js
|
||||
* assignment/issue-2540.js
|
||||
* assignment/issue-3819.js
|
||||
* assignment/issue-6922.js
|
||||
* assignment/issue-7572.js
|
||||
* assignment/lone-arg.js
|
||||
|
|
|
|||
Loading…
Reference in a new issue