aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/gdscript/folds.scm
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/queries/gdscript/folds.scm')
-rw-r--r--runtime/queries/gdscript/folds.scm26
1 files changed, 26 insertions, 0 deletions
diff --git a/runtime/queries/gdscript/folds.scm b/runtime/queries/gdscript/folds.scm
new file mode 100644
index 000000000..cda709077
--- /dev/null
+++ b/runtime/queries/gdscript/folds.scm
@@ -0,0 +1,26 @@
+[
+ ; Body fold will "join" the next adjacent fold into a SUPER fold.
+ ; This is an issue with the grammar.
+ ; (body)
+ (if_statement)
+ (elif_clause)
+ (else_clause)
+ (for_statement)
+ (while_statement)
+ (class_definition)
+ (enum_definition)
+ (match_statement)
+ (pattern_section)
+ (function_definition)
+ (lambda)
+ (constructor_definition)
+] @fold
+
+; It's nice to be able to fold the if/elif/else clauses and the entire
+; if_statement.
+(if_statement
+ (body) @fold)
+
+; Fold strings that are probably doc strings.
+(expression_statement
+ (string) @fold)