languages: Fix detents case line after typing : in Python (#34017)

Closes #34002

`decrease_indent_patterns` should only contain mapping which are at same
indent level with each other, which is not true for `match` and `case`
mapping.

Caused in https://github.com/zed-industries/zed/pull/33370

Release Notes:

- N/A
This commit is contained in:
Smit Barmase 2025-07-07 22:41:29 +05:30 committed by GitHub
parent 8cc3b094d2
commit 38febed02d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 14 additions and 2 deletions

View file

@ -22348,6 +22348,19 @@ async fn test_outdent_after_input_for_python(cx: &mut TestAppContext) {
def f() -> list[str]:
"});
// test does not outdent on typing : after case keyword
cx.set_state(indoc! {"
match 1:
caseˇ
"});
cx.update_editor(|editor, window, cx| {
editor.handle_input(":", window, cx);
});
cx.assert_editor_state(indoc! {"
match 1:
case:ˇ
"});
}
#[gpui::test]

View file

@ -34,5 +34,4 @@ decrease_indent_patterns = [
{ pattern = "^\\s*else\\b.*:", valid_after = ["if", "elif", "for", "while", "except"] },
{ pattern = "^\\s*except\\b.*:", valid_after = ["try", "except"] },
{ pattern = "^\\s*finally\\b.*:", valid_after = ["try", "except", "else"] },
{ pattern = "^\\s*case\\b.*:", valid_after = ["match", "case"] }
]

View file

@ -14,4 +14,4 @@
(else_clause) @start.else
(except_clause) @start.except
(finally_clause) @start.finally
(case_pattern) @start.case
(case_clause) @start.case