nvim-treesitter/tests/indent/python
George Harker d1333dd7e5 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
2023-03-24 13:07:53 -04:00
..
aligned_indent.py indents: allow aligned_indent for unfinished calls in C and Python 2022-02-05 18:54:55 +01:00
aligned_indent_2.py refactor(indent)!: Rework indent, aligned indent 2023-03-24 13:07:53 -04:00
basic_blocks.py move all tests to top-level tests/ directory 2021-04-23 21:21:38 +02:00
basic_collections.py move all tests to top-level tests/ directory 2021-04-23 21:21:38 +02:00
branches.py indents(python): remove branches.py from expected failures 2022-02-05 18:54:55 +01:00
comprehensions.py move all tests to top-level tests/ directory 2021-04-23 21:21:38 +02:00
control_flow.py refactor(indent)!: Rework indent, aligned indent 2023-03-24 13:07:53 -04:00
error_state_def.py refactor(indent)!: Rework indent, aligned indent 2023-03-24 13:07:53 -04:00
error_state_dict.py refactor(indent)!: Rework indent, aligned indent 2023-03-24 13:07:53 -04:00
error_state_funcall.py refactor(indent)!: Rework indent, aligned indent 2023-03-24 13:07:53 -04:00
error_state_list.py refactor(indent)!: Rework indent, aligned indent 2023-03-24 13:07:53 -04:00
error_state_set.py refactor(indent)!: Rework indent, aligned indent 2023-03-24 13:07:53 -04:00
error_state_tuple.py refactor(indent)!: Rework indent, aligned indent 2023-03-24 13:07:53 -04:00
error_state_tuple_align.py refactor(indent)!: Rework indent, aligned indent 2023-03-24 13:07:53 -04:00
hanging_indent.py move all tests to top-level tests/ directory 2021-04-23 21:21:38 +02:00
join_lines.py move all tests to top-level tests/ directory 2021-04-23 21:21:38 +02:00
line_after_indent.py fix(python): add missing @indent_end 2023-03-16 03:46:01 -04:00
nested_collections.py move all tests to top-level tests/ directory 2021-04-23 21:21:38 +02:00
return_dedent.py refactor(indent)!: Rework indent, aligned indent 2023-03-24 13:07:53 -04:00
strings.py move all tests to top-level tests/ directory 2021-04-23 21:21:38 +02:00