diff options
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 9 | ||||
| -rw-r--r-- | queries/wgsl_bevy/folds.scm | 5 | ||||
| -rw-r--r-- | queries/wgsl_bevy/highlights.scm | 25 | ||||
| -rw-r--r-- | queries/wgsl_bevy/indents.scm | 7 |
4 files changed, 46 insertions, 0 deletions
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 6bd94f93b..0194f776c 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -1183,6 +1183,15 @@ list.wgsl = { filetype = "wgsl", } +list.wgsl_bevy = { + install_info = { + url = "https://github.com/theHamsta/tree-sitter-wgsl-bevy", + files = { "src/parser.c" }, + generate_requires_npm = true, + }, + maintainers = { "@theHamsta" }, +} + list.m68k = { install_info = { url = "https://github.com/grahambates/tree-sitter-m68k", diff --git a/queries/wgsl_bevy/folds.scm b/queries/wgsl_bevy/folds.scm new file mode 100644 index 000000000..7d2547fa0 --- /dev/null +++ b/queries/wgsl_bevy/folds.scm @@ -0,0 +1,5 @@ +; inherits wgsl + +[ + (preproc_ifdef) +] @fold diff --git a/queries/wgsl_bevy/highlights.scm b/queries/wgsl_bevy/highlights.scm new file mode 100644 index 000000000..2b33eff66 --- /dev/null +++ b/queries/wgsl_bevy/highlights.scm @@ -0,0 +1,25 @@ +; inherits wgsl + +[ + "#import" + "#define_import_path" +] @include +"::" @punctuation.delimiter + +(import_path (identifier) @namespace (identifier)) + +(struct_declaration + (preproc_ifdef (struct_member (variable_identifier_declaration (identifier) @field)))) +(struct_declaration + (preproc_ifdef + (preproc_else (struct_member (variable_identifier_declaration (identifier) @field))))) + +(preproc_ifdef + name: (identifier) @constant.macro) + +[ + "#ifdef" + "#ifndef" + "#endif" + "#else" +] @preproc diff --git a/queries/wgsl_bevy/indents.scm b/queries/wgsl_bevy/indents.scm new file mode 100644 index 000000000..84d1845c0 --- /dev/null +++ b/queries/wgsl_bevy/indents.scm @@ -0,0 +1,7 @@ +; inherits wgsl +[ + "#ifdef" + "#ifndef" + "#else" + "#endif" +] @zero_indent |
