helix-mirror/runtime/queries/gdscript/highlights.scm
2022-09-10 08:47:08 -05:00

99 lines
1.1 KiB
Scheme

; Identifier naming conventions
((identifier) @constant
(#match? @constant "^[A-Z][A-Z_]*$"))
; class
(class_name_statement (name) @type)
(class_definition (name) @type)
; 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
;; Literals
[
(true)
(false)
(null)
] @constant.builtin
[
"+"
"-"
"*"
"/"
"%"
"=="
"!="
">"
"<"
">="
"<="
"="
"+="
"-="
"*="
"/="
"%="
"&"
"|"
"^"
"~"
"<<"
">>"
"and"
"or"
"not"
] @operator
[
(static_keyword)
(remote_keyword)
(tool_statement)
"var"
"func"
"setget"
"in"
"is"
"as"
"if"
"else"
"elif"
"while"
"for"
"return"
"break"
"continue"
"pass"
"match"
"class"
"class_name"
"enum"
"signal"
"onready"
"export"
"extends"
"const"
] @keyword