diff options
| author | George Harker <george@george-graphics.co.uk> | 2023-03-19 18:09:18 -0700 |
|---|---|---|
| committer | Amaan Qureshi <amaanq12@gmail.com> | 2023-03-24 13:07:53 -0400 |
| commit | d1333dd7e51729a581fed3e429fa035bff77a3db (patch) | |
| tree | 961499041e8e3da94963e7331e09754d423b40a1 /tests/indent/python | |
| parent | fix: shim 0.9 deprecations (diff) | |
| download | nvim-treesitter-d1333dd7e51729a581fed3e429fa035bff77a3db.tar nvim-treesitter-d1333dd7e51729a581fed3e429fa035bff77a3db.tar.gz nvim-treesitter-d1333dd7e51729a581fed3e429fa035bff77a3db.tar.bz2 nvim-treesitter-d1333dd7e51729a581fed3e429fa035bff77a3db.tar.lz nvim-treesitter-d1333dd7e51729a581fed3e429fa035bff77a3db.tar.xz nvim-treesitter-d1333dd7e51729a581fed3e429fa035bff77a3db.tar.zst nvim-treesitter-d1333dd7e51729a581fed3e429fa035bff77a3db.zip | |
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
Diffstat (limited to 'tests/indent/python')
| -rw-r--r-- | tests/indent/python/aligned_indent_2.py | 12 | ||||
| -rw-r--r-- | tests/indent/python/control_flow.py | 2 | ||||
| -rw-r--r-- | tests/indent/python/error_state_def.py | 6 | ||||
| -rw-r--r-- | tests/indent/python/error_state_dict.py | 6 | ||||
| -rw-r--r-- | tests/indent/python/error_state_funcall.py | 5 | ||||
| -rw-r--r-- | tests/indent/python/error_state_list.py | 5 | ||||
| -rw-r--r-- | tests/indent/python/error_state_set.py | 5 | ||||
| -rw-r--r-- | tests/indent/python/error_state_tuple.py | 7 | ||||
| -rw-r--r-- | tests/indent/python/error_state_tuple_align.py | 7 | ||||
| -rw-r--r-- | tests/indent/python/return_dedent.py | 23 |
10 files changed, 76 insertions, 2 deletions
diff --git a/tests/indent/python/aligned_indent_2.py b/tests/indent/python/aligned_indent_2.py new file mode 100644 index 000000000..124f7142f --- /dev/null +++ b/tests/indent/python/aligned_indent_2.py @@ -0,0 +1,12 @@ +if True: + print(1, 2, 3) + +if True: + print( + 1, + 2, + 3 + ) + print(1, + 2, + 3) diff --git a/tests/indent/python/control_flow.py b/tests/indent/python/control_flow.py index 7ec02e3ff..fca528a2d 100644 --- a/tests/indent/python/control_flow.py +++ b/tests/indent/python/control_flow.py @@ -26,5 +26,3 @@ while (a > 4 and pass try: - pass - diff --git a/tests/indent/python/error_state_def.py b/tests/indent/python/error_state_def.py new file mode 100644 index 000000000..943fbfac3 --- /dev/null +++ b/tests/indent/python/error_state_def.py @@ -0,0 +1,6 @@ +def foo(a, + b, + c): + pass + +def foobar(a, diff --git a/tests/indent/python/error_state_dict.py b/tests/indent/python/error_state_dict.py new file mode 100644 index 000000000..dec92b1f9 --- /dev/null +++ b/tests/indent/python/error_state_dict.py @@ -0,0 +1,6 @@ + +d = {1:4, + 2:3, + 4:5} + +d2 = {1:3, diff --git a/tests/indent/python/error_state_funcall.py b/tests/indent/python/error_state_funcall.py new file mode 100644 index 000000000..e86720ed1 --- /dev/null +++ b/tests/indent/python/error_state_funcall.py @@ -0,0 +1,5 @@ + +f(1,2,3, + 4,5,6) + +g(1,2,3, diff --git a/tests/indent/python/error_state_list.py b/tests/indent/python/error_state_list.py new file mode 100644 index 000000000..09823bb05 --- /dev/null +++ b/tests/indent/python/error_state_list.py @@ -0,0 +1,5 @@ +l = [1, + 2, + 3] + +l2 = [1, diff --git a/tests/indent/python/error_state_set.py b/tests/indent/python/error_state_set.py new file mode 100644 index 000000000..31338de68 --- /dev/null +++ b/tests/indent/python/error_state_set.py @@ -0,0 +1,5 @@ +s = {1, + 2, + 3} + +s2 = {1, diff --git a/tests/indent/python/error_state_tuple.py b/tests/indent/python/error_state_tuple.py new file mode 100644 index 000000000..fda59c8c3 --- /dev/null +++ b/tests/indent/python/error_state_tuple.py @@ -0,0 +1,7 @@ +( + a, + b, + c, +) + +(a, diff --git a/tests/indent/python/error_state_tuple_align.py b/tests/indent/python/error_state_tuple_align.py new file mode 100644 index 000000000..fda59c8c3 --- /dev/null +++ b/tests/indent/python/error_state_tuple_align.py @@ -0,0 +1,7 @@ +( + a, + b, + c, +) + +(a, diff --git a/tests/indent/python/return_dedent.py b/tests/indent/python/return_dedent.py index 44d6219de..8171bc9d1 100644 --- a/tests/indent/python/return_dedent.py +++ b/tests/indent/python/return_dedent.py @@ -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) + ] |
