Add Python else elif dedent (#4618)

* feat(python): add interactive else/elif dedent

* fixup

* add test
This commit is contained in:
Pham Huy Hoang 2023-04-29 17:35:35 +09:00 committed by GitHub
parent 358a463c82
commit 1ca9b938c1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 0 deletions

View file

@ -83,6 +83,14 @@
(continue_statement)
] @indent.dedent
(ERROR
(_) @indent.branch ":" .
(#lua-match? @indent.branch "^else"))
(ERROR
(_) @indent.branch @indent.dedent ":" .
(#lua-match? @indent.branch "^elif"))
(parenthesized_expression ")" @indent.end)
(generator_expression ")" @indent.end)
(list_comprehension "]" @indent.end)

View file

@ -0,0 +1,3 @@
def test_branch_else():
if True:
x = 1

View file

@ -50,6 +50,8 @@ describe("indent Python:", function()
run:new_line("error_state_dict.py", { on_line = 6, text = "9:10,", indent = 6 })
run:new_line("error_state_set.py", { on_line = 5, text = "9,", indent = 6 })
run:new_line("error_state_funcall.py", { on_line = 5, text = "6,", indent = 2 })
run:new_line("if_else.py", { on_line = 5, text = "else:", indent = 4 })
run:new_line("if_else.py", { on_line = 5, text = "elif False:", indent = 4 })
run:new_line(
"join_lines.py",
{ on_line = 1, text = "+ 1 \\", indent = 4 },