mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-01 19:17:02 -04:00
refactor(indent)!: Rework indent, aligned indent
indents now use @indent.X style captures, and indent.PROP for properties to set on those captures, as documented in the help. Captures are: indent.auto indent.begin indent.end indent.dedent indent.branch indent.ignore indent.align indent.zero Properties are: indent.immediate indent.start_at_same_line indent.open_delimiter indent.close_delimiter indent.increment indent.avoid_last_matching_next Multiple opening delims on one line and multiple closing on a line are collapsed so as not to over indent, The final line of @indent.align blocks which must in some cases be treated specially to avoid clashing with the next line is treated the same regardless of whether the @indent.align capture actually uses aligned indentation or just normal indentation. The indent.avoid_last_matching_next property controls this. Adjust python to use these. List, set, dict and tuple all use @indent.align which permits both hanging and aligned styles. Finally, try: on it’s own will indent when typing live but make no guaranteeds about whole-file formatting. Includes lucario387:fix-align-indent
This commit is contained in:
parent
90ead4ed58
commit
d1333dd7e5
14 changed files with 298 additions and 53 deletions
12
tests/indent/python/aligned_indent_2.py
Normal file
12
tests/indent/python/aligned_indent_2.py
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
if True:
|
||||
print(1, 2, 3)
|
||||
|
||||
if True:
|
||||
print(
|
||||
1,
|
||||
2,
|
||||
3
|
||||
)
|
||||
print(1,
|
||||
2,
|
||||
3)
|
||||
|
|
@ -26,5 +26,3 @@ while (a > 4 and
|
|||
pass
|
||||
|
||||
try:
|
||||
pass
|
||||
|
||||
|
|
|
|||
6
tests/indent/python/error_state_def.py
Normal file
6
tests/indent/python/error_state_def.py
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
def foo(a,
|
||||
b,
|
||||
c):
|
||||
pass
|
||||
|
||||
def foobar(a,
|
||||
6
tests/indent/python/error_state_dict.py
Normal file
6
tests/indent/python/error_state_dict.py
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
|
||||
d = {1:4,
|
||||
2:3,
|
||||
4:5}
|
||||
|
||||
d2 = {1:3,
|
||||
5
tests/indent/python/error_state_funcall.py
Normal file
5
tests/indent/python/error_state_funcall.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
|
||||
f(1,2,3,
|
||||
4,5,6)
|
||||
|
||||
g(1,2,3,
|
||||
5
tests/indent/python/error_state_list.py
Normal file
5
tests/indent/python/error_state_list.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
l = [1,
|
||||
2,
|
||||
3]
|
||||
|
||||
l2 = [1,
|
||||
5
tests/indent/python/error_state_set.py
Normal file
5
tests/indent/python/error_state_set.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
s = {1,
|
||||
2,
|
||||
3}
|
||||
|
||||
s2 = {1,
|
||||
7
tests/indent/python/error_state_tuple.py
Normal file
7
tests/indent/python/error_state_tuple.py
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
(
|
||||
a,
|
||||
b,
|
||||
c,
|
||||
)
|
||||
|
||||
(a,
|
||||
7
tests/indent/python/error_state_tuple_align.py
Normal file
7
tests/indent/python/error_state_tuple_align.py
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
(
|
||||
a,
|
||||
b,
|
||||
c,
|
||||
)
|
||||
|
||||
(a,
|
||||
|
|
@ -14,3 +14,26 @@ def a():
|
|||
return (
|
||||
1, 2, 3
|
||||
)
|
||||
|
||||
def a():
|
||||
return b(
|
||||
1, 2, 3
|
||||
)
|
||||
|
||||
def a():
|
||||
return [1, 2, 3]
|
||||
|
||||
def a():
|
||||
return {1, 2, 3}
|
||||
|
||||
def a():
|
||||
return {
|
||||
"a": 1,
|
||||
"b": 2,
|
||||
"c": 3
|
||||
}
|
||||
|
||||
def a():
|
||||
return [
|
||||
a for a in range (1, 3)
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue