fix(ecma): indent single-line if statements (#6846)

Fixes #5898.
This commit is contained in:
Riley Bruins 2024-07-03 19:13:16 -07:00 committed by GitHub
parent caf275382f
commit fa611f612a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 17 additions and 4 deletions

View file

@ -59,10 +59,11 @@
(statement_block (statement_block
"{" @indent.branch) "{" @indent.branch)
(parenthesized_expression ((parenthesized_expression
("(" "("
(_) (_)
")" @indent.end)) ")" @indent.end) @_outer
(#not-has-parent? @_outer if_statement))
[ [
"}" "}"
@ -75,3 +76,7 @@
(comment) (comment)
(ERROR) (ERROR)
] @indent.auto ] @indent.auto
(if_statement
consequence: (_) @indent.dedent
(#not-kind-eq? @indent.dedent statement_block)) @indent.begin

View file

@ -11,3 +11,9 @@ if (cond1) {
} else { } else {
do_fallback() do_fallback()
} }
if (true)
console.log('hi')
console.log('hi')
if (true)

View file

@ -75,6 +75,8 @@ describe("indent JavaScript:", function()
{ 9, 2 }, { 9, 2 },
{ 12, 2 }, { 12, 2 },
{ 13, 0 }, { 13, 0 },
{ 16, 0 },
{ 19, 2 },
} do } do
run:new_line("ecma/if_else.js", { on_line = info[1], text = "hello()", indent = info[2] }, info[3], info[4]) run:new_line("ecma/if_else.js", { on_line = info[1], text = "hello()", indent = info[2] }, info[3], info[4])
end end