language: Improve auto-indentation when using round brackets in Python (#31260)

Follow-up to #29625 and #30902

This PR reintroduces auto-intents for brackets in Python and fixes some
cases where an indentation would be triggered if it should not. For
example, upon typing

```python
a = []
```
and inserting a newline after, the next line would be indented although
it shoud not be.

Bracket auto-indentation was tested prior to #29625 but removed there
and the test updated accordingly. #30902 reintroduced this for all
brackets but `()`. I reintroduced this here, reverted the changes to the
test so that indents also happen after typing `()`. This is frequently
used for tuples and multiline statements in Python.

Release Notes:

- Improved auto-indentation when using round brackets in Python.
This commit is contained in:
Finn Evers
2025-05-25 02:25:15 +05:30
committed by GitHub
parent a204510cfc
commit 4c28d2c2e2
4 changed files with 31 additions and 4 deletions
+1 -1
View File
@@ -2901,7 +2901,7 @@ impl BufferSnapshot {
end
};
if let Some((start, end)) = start.zip(end) {
if start.row == end.row && !significant_indentation {
if start.row == end.row && (!significant_indentation || start.column < end.column) {
continue;
}
let range = start..end;