Files
oak-gpui/crates/languages/src/python/config.toml
T
Smit Barmase 38febed02d 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
2025-07-07 22:41:29 +05:30

38 lines
2.3 KiB
TOML

name = "Python"
grammar = "python"
path_suffixes = ["py", "pyi", "mpy"]
first_line_pattern = '^#!.*\bpython[0-9.]*\b'
line_comments = ["# "]
autoclose_before = ";:.,=}])>"
brackets = [
{ start = "f\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "f'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "b\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "b'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "u\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "u'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "r\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "r'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "rb\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "rb'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "t\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "t'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
{ start = "\"\"\"", end = "\"\"\"", close = true, newline = false, not_in = ["string"] },
{ start = "'''", end = "'''", close = true, newline = false, not_in = ["string"] },
{ start = "{", end = "}", close = true, newline = true },
{ start = "[", end = "]", close = true, newline = true },
{ start = "(", end = ")", close = true, newline = true },
{ start = "\"", end = "\"", close = true, newline = false, not_in = ["string"] },
{ start = "'", end = "'", close = true, newline = false, not_in = ["string"] },
]
auto_indent_using_last_non_empty_line = false
debuggers = ["Debugpy"]
increase_indent_pattern = "^[^#].*:\\s*$"
decrease_indent_patterns = [
{ pattern = "^\\s*elif\\b.*:", valid_after = ["if", "elif"] },
{ 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"] },
]