diff options
| author | Stephan Seitz <stephan.seitz@fau.de> | 2022-12-25 17:40:05 +0100 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2022-12-31 15:19:48 +0100 |
| commit | 817531ce6f0c7a6236e08aec435e9655e5835afb (patch) | |
| tree | 85966acc6555d9407acda6edafd6297db9c8a473 | |
| parent | fix: show errors when reload after installation fails (diff) | |
| download | nvim-treesitter-817531ce6f0c7a6236e08aec435e9655e5835afb.tar nvim-treesitter-817531ce6f0c7a6236e08aec435e9655e5835afb.tar.gz nvim-treesitter-817531ce6f0c7a6236e08aec435e9655e5835afb.tar.bz2 nvim-treesitter-817531ce6f0c7a6236e08aec435e9655e5835afb.tar.lz nvim-treesitter-817531ce6f0c7a6236e08aec435e9655e5835afb.tar.xz nvim-treesitter-817531ce6f0c7a6236e08aec435e9655e5835afb.tar.zst nvim-treesitter-817531ce6f0c7a6236e08aec435e9655e5835afb.zip | |
parsers: add wgsl_bevy
This adds an extension of tree-sitter-wgsl that understands
[Bevy's](https://bevyengine.org/) preprocessor directives.
| -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 |
