1name = "Python"
2grammar = "python"
3path_suffixes = ["py", "pyi", "mpy"]
4first_line_pattern = '^#!.*((\bpython[0-9.]*\b)|(\buv run\b))'
5modeline_aliases = ["py"]
6line_comments = ["# "]
7block_comment = { start = "\"\"\"", end = "\"\"\"", prefix = "", tab_size = 1 }
8autoclose_before = ";:.,=}])>"
9brackets = [
10 { start = "f\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
11 { start = "f'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
12 { start = "b\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
13 { start = "b'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
14 { start = "u\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
15 { start = "u'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
16 { start = "r\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
17 { start = "r'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
18 { start = "rb\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
19 { start = "rb'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
20 { start = "t\"", end = "\"", close = true, newline = false, not_in = ["string", "comment"] },
21 { start = "t'", end = "'", close = true, newline = false, not_in = ["string", "comment"] },
22 { start = "\"\"\"", end = "\"\"\"", close = true, newline = false, not_in = ["string"] },
23 { start = "'''", end = "'''", close = true, newline = false, not_in = ["string"] },
24 { start = "{", end = "}", close = true, newline = true },
25 { start = "[", end = "]", close = true, newline = true },
26 { start = "(", end = ")", close = true, newline = true },
27 { start = "\"", end = "\"", close = true, newline = false, not_in = ["string"] },
28 { start = "'", end = "'", close = true, newline = false, not_in = ["string"] },
29]
30
31auto_indent_using_last_non_empty_line = false
32debuggers = ["Debugpy"]
33increase_indent_pattern = "^[^#].*:\\s*(#.*)?$"
34decrease_indent_patterns = [
35 { pattern = "^\\s*elif\\b.*:\\s*(#.*)?", valid_after = ["if", "elif"] },
36 { pattern = "^\\s*else\\b.*:\\s*(#.*)?", valid_after = ["if", "elif", "for", "while", "except"] },
37 { pattern = "^\\s*except\\b.*:\\s*(#.*)?", valid_after = ["try", "except"] },
38 { pattern = "^\\s*finally\\b.*:\\s*(#.*)?", valid_after = ["try", "except", "else"] },
39]