aboutsummaryrefslogtreecommitdiff
path: root/runtime/queries/gdscript/highlights.scm
diff options
context:
space:
mode:
authorErasin Wang2023-03-05 18:41:18 +0000
committerGitHub2023-03-05 18:41:18 +0000
commite6597bc9927c73800d31d4a45dc695a4abe77ec8 (patch)
tree4e1d028d109a7f187777be36e439d0426054c6fd /runtime/queries/gdscript/highlights.scm
parentdef26966d22dfc4b9a74e51542db246ba52f3dc9 (diff)
Update queries for godot4 (#6186)
Diffstat (limited to 'runtime/queries/gdscript/highlights.scm')
-rw-r--r--runtime/queries/gdscript/highlights.scm88
1 files changed, 61 insertions, 27 deletions
diff --git a/runtime/queries/gdscript/highlights.scm b/runtime/queries/gdscript/highlights.scm
index f36f4e35..88f2a187 100644
--- a/runtime/queries/gdscript/highlights.scm
+++ b/runtime/queries/gdscript/highlights.scm
@@ -1,7 +1,8 @@
; Identifier naming conventions
-((identifier) @constant
- (#match? @constant "^[A-Z][A-Z_]*$"))
+(
+ (identifier) @constant
+ (#match? @constant "^[A-Z][A-Z\\d_]+$"))
; class
(class_name_statement (name) @type)
@@ -11,32 +12,35 @@
; Function calls
(attribute_call (identifier) @function)
-
(base_call (identifier) @function)
-
(call (identifier) @function)
; Function definitions
(function_definition (name) @function)
-
(constructor_definition "_init" @function)
+
;; Literals
-(integer) @constant.numeric.integer
-(float) @constant.numeric.float
(comment) @comment
(string) @string
-(escape_sequence) @constant.character.escape
-(identifier) @variable
+
(type) @type
+(expression_statement (array (identifier) @type))
+(binary_operator (identifier) @type)
-;; Literals
+(variable_statement (identifier) @variable)
+(get_node) @label
+
+(const_statement (name) @constant)
+(integer) @constant.numeric.integer
+(float) @constant.numeric.float
+(escape_sequence) @constant.character.escape
[
(true)
(false)
- (null)
-] @constant.builtin
+] @constant.builtin.boolean
+(null) @constant.builtin
[
"+"
@@ -62,37 +66,67 @@
"~"
"<<"
">>"
- "and"
- "or"
- "not"
] @operator
+(annotation (identifier) @keyword.storage.modifier)
+
[
- (static_keyword)
- (remote_keyword)
- (tool_statement)
- "var"
- "func"
- "setget"
- "in"
- "is"
- "as"
"if"
"else"
"elif"
+] @keyword.control.conditional
+
+[
"while"
"for"
+] @keyword.control.repeat
+
+[
"return"
+ "pass"
"break"
"continue"
- "pass"
+] @keyword.control.return
+
+[
+ "func"
+] @keyword.control.function
+
+[
+ "export"
+] @keyword.control.import
+
+[
+ "in"
+ "is"
+ "as"
"match"
+ "and"
+ "or"
+ "not"
+] @keyword.operator
+
+[
+ "var"
"class"
"class_name"
"enum"
+] @keyword.storage.type
+
+
+[
+ (remote_keyword)
+ (static_keyword)
+ "const"
"signal"
+ "@"
+] @keyword.storage.modifier
+
+[
+ "setget"
"onready"
- "export"
"extends"
- "const"
+ "set"
+ "get"
] @keyword
+