feat(python): add "return" patterns to @indent_end

`return ...` is usually the last line of a
function/statement, so mark some possible patterns of `return` with
`@indent_end` to dedent the line after it
This commit is contained in:
Pham Huy Hoang
2023-03-16 19:04:17 +09:00
committed by Stephan Seitz
parent 273d5e9ac5
commit 01e8a51451
3 changed files with 29 additions and 0 deletions

View File

@@ -72,6 +72,15 @@
(list_pattern "]" @indent_end)
(return_statement
[
(_) @indent_end
(_ (_) @indent_end .)
(attribute
attribute: (_) @indent_end)
"return" @indent_end
] .)
[
")"
"]"

View File

@@ -0,0 +1,16 @@
def a():
return
def a():
return True
def a():
return (1, 2, 3)
def a():
return x.y.z
def a():
return (
1, 2, 3
)

View File

@@ -74,5 +74,9 @@ describe("indent Python:", function()
run:new_line("line_after_indent.py", { on_line = 49, text = "x", indent = 0 })
run:new_line("line_after_indent.py", { on_line = 55, text = "x", indent = 4 })
run:new_line("line_after_indent.py", { on_line = 63, text = "x", indent = 4 })
for _, line in ipairs { 2, 5, 8, 11, 16 } do
run:new_line("return_dedent.py", { on_line = line, text = "x", indent = 0 })
end
end)
end)