aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--queries/python/indents.scm8
-rw-r--r--tests/indent/python/if_else.py3
-rw-r--r--tests/indent/python_spec.lua2
3 files changed, 13 insertions, 0 deletions
diff --git a/queries/python/indents.scm b/queries/python/indents.scm
index efcdba6b2..338473f00 100644
--- a/queries/python/indents.scm
+++ b/queries/python/indents.scm
@@ -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)
diff --git a/tests/indent/python/if_else.py b/tests/indent/python/if_else.py
new file mode 100644
index 000000000..d128597f0
--- /dev/null
+++ b/tests/indent/python/if_else.py
@@ -0,0 +1,3 @@
+def test_branch_else():
+ if True:
+ x = 1
diff --git a/tests/indent/python_spec.lua b/tests/indent/python_spec.lua
index aa9aa83e0..ec44d551c 100644
--- a/tests/indent/python_spec.lua
+++ b/tests/indent/python_spec.lua
@@ -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 },