aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/dart
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/dart')
-rw-r--r--runtime/queries/dart/indents.scm98
1 files changed, 89 insertions, 9 deletions
diff --git a/runtime/queries/dart/indents.scm b/runtime/queries/dart/indents.scm
index 14c6a375..cdb96ae8 100644
--- a/runtime/queries/dart/indents.scm
+++ b/runtime/queries/dart/indents.scm
@@ -1,16 +1,95 @@
+; things surrounded by ({[]})
[
- (class_body)
- (function_body)
- (function_expression_body)
- (declaration)
- (initializers)
+ (template_substitution)
+ (list_literal)
+ (set_or_map_literal)
+ (parenthesized_expression)
+ (arguments)
+ (index_selector)
+ (block)
+ (assertion_arguments)
(switch_block)
- (if_statement)
+ (catch_parameters)
+ (for_loop_parts)
+ (configuration_uri_condition)
+ (enum_body)
+ (class_body)
+ (extension_body)
+ (parameter_type_list)
+ (optional_positional_parameter_types)
+ (named_parameter_types)
(formal_parameter_list)
- (formal_parameter)
- (list_literal)
+ (optional_formal_parameters)
+] @indent
+
+; control flow statement which accept one line as body
+
+(for_statement
+ body: _ @indent
+ (#not-kind-eq? @indent block)
+ (#set! "scope" "all")
+)
+
+(while_statement
+ body: _ @indent
+ (#not-kind-eq? @indent block)
+ (#set! "scope" "all")
+)
+
+(do_statement
+ body: _ @indent
+ (#not-kind-eq? @indent block)
+ (#set! "scope" "all")
+)
+
+(if_statement
+ consequence: _ @indent
+ (#not-kind-eq? @indent block)
+ (#set! "scope" "all")
+)
+(if_statement
+ alternative: _ @indent
+ (#not-kind-eq? @indent if_statement)
+ (#not-kind-eq? @indent block)
+ (#set! "scope" "all")
+)
+(if_statement
+ "else" @else
+ alternative: (if_statement) @indent
+ (#not-same-line? @indent @else)
+ (#set! "scope" "all")
+)
+
+(if_element
+ consequence: _ @indent
+ (#set! "scope" "all")
+)
+(if_element
+ alternative: _ @indent
+ (#not-kind-eq? @indent if_element)
+ (#set! "scope" "all")
+)
+(if_element
+ "else" @else
+ alternative: (if_element) @indent
+ (#not-same-line? @indent @else)
+ (#set! "scope" "all")
+)
+
+(for_element
+ body: _ @indent
+ (#set! "scope" "all")
+)
+
+; simple statements
+[
+ (local_variable_declaration)
+ (break_statement)
+ (continue_statement)
(return_statement)
- (arguments)
+ (yield_statement)
+ (yield_each_statement)
+ (expression_statement)
] @indent
[
@@ -18,3 +97,4 @@
"]"
")"
] @outdent
+