aboutsummaryrefslogtreecommitdiffstats
path: root/runtime/queries/gdshader
diff options
context:
space:
mode:
authorChristian Clason <c.clason@uni-graz.at>2023-06-12 09:54:30 -0600
committerChristian Clason <c.clason@uni-graz.at>2025-05-12 18:43:40 +0200
commit692b051b09935653befdb8f7ba8afdb640adf17b (patch)
tree167162b6b129ae04f68c5735078521a72917c742 /runtime/queries/gdshader
parentfeat(c-family): inherit injections (diff)
downloadnvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.gz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.bz2
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.lz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.xz
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.tar.zst
nvim-treesitter-692b051b09935653befdb8f7ba8afdb640adf17b.zip
feat!: drop modules, general refactor and cleanup
Diffstat (limited to 'runtime/queries/gdshader')
-rw-r--r--runtime/queries/gdshader/highlights.scm142
-rw-r--r--runtime/queries/gdshader/injections.scm2
2 files changed, 144 insertions, 0 deletions
diff --git a/runtime/queries/gdshader/highlights.scm b/runtime/queries/gdshader/highlights.scm
new file mode 100644
index 000000000..c93fd4721
--- /dev/null
+++ b/runtime/queries/gdshader/highlights.scm
@@ -0,0 +1,142 @@
+[
+ "render_mode"
+ "shader_type"
+ "group_uniforms"
+ "global"
+ "instance"
+ "const"
+ "varying"
+ "uniform"
+] @keyword
+
+"struct" @keyword.type
+
+[
+ (precision_qualifier)
+ (interpolation_qualifier)
+] @keyword.modifier
+
+[
+ "in"
+ "out"
+ "inout"
+] @keyword.modifier
+
+[
+ "while"
+ "for"
+] @keyword.repeat
+
+[
+ "continue"
+ "break"
+ "return"
+] @keyword.return
+
+[
+ "if"
+ "else"
+ "switch"
+ "case"
+ "default"
+] @keyword.conditional
+
+[
+ "#"
+ "include"
+] @keyword.directive
+
+(string) @string
+
+[
+ "="
+ "+="
+ "-="
+ "!"
+ "~"
+ "+"
+ "-"
+ "*"
+ "/"
+ "%"
+ "||"
+ "&&"
+ "|"
+ "^"
+ "&"
+ "=="
+ "!="
+ ">"
+ ">="
+ "<="
+ "<"
+ "<<"
+ ">>"
+ "++"
+ "--"
+] @operator
+
+(boolean) @boolean
+
+(integer) @number
+
+(float) @number.float
+
+[
+ "."
+ ","
+ ";"
+] @punctuation.delimiter
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+(builtin_type) @type.builtin
+
+(ident_type) @type.definition
+
+[
+ (shader_type)
+ (render_mode)
+ (hint_name)
+] @attribute
+
+(builtin_variable) @constant.builtin
+
+(builtin_function) @function.builtin
+
+(group_uniforms_declaration
+ group_name: (ident) @property
+ subgroup_name: (ident) @property)
+
+(struct_declaration
+ name: (ident) @type)
+
+(struct_member
+ name: (ident) @property)
+
+(function_declaration
+ name: (ident) @function)
+
+(parameter
+ name: (ident) @variable.parameter)
+
+(member_expr
+ member: (ident) @property)
+
+(call_expr
+ function: [
+ (ident)
+ (builtin_type)
+ ] @function)
+
+(call_expr
+ function: (builtin_type) @function.call)
+
+(comment) @comment @spell
diff --git a/runtime/queries/gdshader/injections.scm b/runtime/queries/gdshader/injections.scm
new file mode 100644
index 000000000..2f0e58eb6
--- /dev/null
+++ b/runtime/queries/gdshader/injections.scm
@@ -0,0 +1,2 @@
+((comment) @injection.content
+ (#set! injection.language "comment"))