Update queries for godot4 (#6186)

This commit is contained in:
Erasin Wang 2023-03-06 02:41:18 +08:00 committed by GitHub
parent def26966d2
commit e6597bc992
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 84 additions and 34 deletions

View File

@ -1463,7 +1463,7 @@ indent = { tab-width = 4, unit = "\t" }
[[grammar]]
name = "gdscript"
source = { git = "https://github.com/PrestonKnopp/tree-sitter-gdscript", rev = "a56a6fcec3fb63ec3324bf9373aae7298861eb30" }
source = { git = "https://github.com/PrestonKnopp/tree-sitter-gdscript", rev = "a4b57cc3bcbfc24550e858159647e9238e7ad1ac" }
[[language]]
name = "godot-resource"

View File

@ -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
;; Literals
(comment) @comment
(string) @string
(type) @type
(expression_statement (array (identifier) @type))
(binary_operator (identifier) @type)
(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"
"signal"
"onready"
"export"
"extends"
] @keyword.storage.type
[
(remote_keyword)
(static_keyword)
"const"
"signal"
"@"
] @keyword.storage.modifier
[
"setget"
"onready"
"extends"
"set"
"get"
] @keyword

View File

@ -12,6 +12,7 @@
(dictionary (_))
(array (_))
(setget)
] @indent
[
@ -25,7 +26,6 @@
(class_definition)
] @extend
[
(return_statement)
(break_statement)

View File

@ -1,2 +1,18 @@
((comment) @injection.content
(#set! injection.language "comment"))
; ((section) @injection.content
; (#set! injection.language "comment"))
((section
(attribute
(identifier) @_type
(string) @_is_shader)
(property
(path) @_is_code
(string) @injection.content))
(#match? @_type "type")
(#match? @_is_shader "Shader")
(#eq? @_is_code "code")
(#set! injection.language "glsl")
)