873434b927
where the tree-sitter completely fails to parse incomplete code.
75 lines
1.1 KiB
Scheme
75 lines
1.1 KiB
Scheme
[
|
|
(list)
|
|
(tuple)
|
|
(dictionary)
|
|
(set)
|
|
|
|
(if_statement)
|
|
(for_statement)
|
|
(while_statement)
|
|
(with_statement)
|
|
(try_statement)
|
|
(match_statement)
|
|
(case_clause)
|
|
(import_from_statement)
|
|
|
|
(parenthesized_expression)
|
|
(generator_expression)
|
|
(list_comprehension)
|
|
(set_comprehension)
|
|
(dictionary_comprehension)
|
|
|
|
(tuple_pattern)
|
|
(list_pattern)
|
|
(argument_list)
|
|
(parameters)
|
|
(binary_operator)
|
|
|
|
(function_definition)
|
|
(class_definition)
|
|
] @indent
|
|
|
|
; Workaround for the tree-sitter grammar creating large errors when a
|
|
; try_statement is missing the except/finally clause
|
|
(ERROR
|
|
"try"
|
|
.
|
|
":" @indent @extend)
|
|
(ERROR
|
|
.
|
|
"def") @indent @extend
|
|
(ERROR
|
|
(block) @indent @extend
|
|
(#set! "scope" "all"))
|
|
|
|
[
|
|
(if_statement)
|
|
(for_statement)
|
|
(while_statement)
|
|
(with_statement)
|
|
(try_statement)
|
|
(match_statement)
|
|
(case_clause)
|
|
|
|
(function_definition)
|
|
(class_definition)
|
|
] @extend
|
|
|
|
[
|
|
(return_statement)
|
|
(break_statement)
|
|
(continue_statement)
|
|
(raise_statement)
|
|
(pass_statement)
|
|
] @extend.prevent-once
|
|
|
|
[
|
|
")"
|
|
"]"
|
|
"}"
|
|
] @outdent
|
|
(elif_clause
|
|
"elif" @outdent)
|
|
(else_clause
|
|
"else" @outdent)
|
|
|