diff options
| author | Stephan Seitz <stephan.seitz@fau.de> | 2023-11-18 20:52:31 +0100 |
|---|---|---|
| committer | Stephan Seitz <stephan.seitz@fau.de> | 2023-11-29 00:54:24 -0800 |
| commit | 10432e6b0fb22a0fbe7b8fa45f7fbee187029d90 (patch) | |
| tree | 849104835f3ec543ca752ea994a3694087b0ad4a | |
| parent | Update parsers: css, facility, foam, wing (diff) | |
| download | nvim-treesitter-10432e6b0fb22a0fbe7b8fa45f7fbee187029d90.tar nvim-treesitter-10432e6b0fb22a0fbe7b8fa45f7fbee187029d90.tar.gz nvim-treesitter-10432e6b0fb22a0fbe7b8fa45f7fbee187029d90.tar.bz2 nvim-treesitter-10432e6b0fb22a0fbe7b8fa45f7fbee187029d90.tar.lz nvim-treesitter-10432e6b0fb22a0fbe7b8fa45f7fbee187029d90.tar.xz nvim-treesitter-10432e6b0fb22a0fbe7b8fa45f7fbee187029d90.tar.zst nvim-treesitter-10432e6b0fb22a0fbe7b8fa45f7fbee187029d90.zip | |
parsers: add tree-sitter-slang
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | lockfile.json | 3 | ||||
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 11 | ||||
| -rw-r--r-- | queries/slang/folds.scm | 9 | ||||
| -rw-r--r-- | queries/slang/highlights.scm | 42 | ||||
| -rw-r--r-- | queries/slang/indents.scm | 6 | ||||
| -rw-r--r-- | queries/slang/injections.scm | 5 | ||||
| -rw-r--r-- | queries/slang/locals.scm | 1 |
8 files changed, 78 insertions, 0 deletions
@@ -360,6 +360,7 @@ We are looking for maintainers to add more parsers and to write query files for - [x] [scfg](https://git.sr.ht/~rockorager/tree-sitter-scfg) (maintained by @WhyNotHugo) - [ ] [scheme](https://github.com/6cdh/tree-sitter-scheme) - [x] [scss](https://github.com/serenadeai/tree-sitter-scss) (maintained by @elianiva) +- [x] [slang](https://github.com/theHamsta/tree-sitter-slang) (experimental, maintained by @theHamsta) - [x] [slint](https://github.com/jrmoulton/tree-sitter-slint) (experimental, maintained by @jrmoulton) - [x] [smali](https://git.sr.ht/~yotam/tree-sitter-smali) (maintained by @amaanq) - [x] [smithy](https://github.com/indoorvivants/tree-sitter-smithy) (maintained by @amaanq, @keynmol) diff --git a/lockfile.json b/lockfile.json index fe6355734..6ff0b40f9 100644 --- a/lockfile.json +++ b/lockfile.json @@ -560,6 +560,9 @@ "scss": { "revision": "c478c6868648eff49eb04a4df90d703dc45b312a" }, + "slang": { + "revision": "47415d3f9ed2b3df9b9fc5f5d0ee1a71be3c67e0" + }, "slint": { "revision": "00c8a2d3645766f68c0d0460086c0a994e5b0d85" }, diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 3945f1167..86bb7e358 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -1649,6 +1649,17 @@ list.scss = { maintainers = { "@elianiva" }, } +list.slang = { + install_info = { + url = "https://github.com/theHamsta/tree-sitter-slang", + files = { "src/parser.c", "src/scanner.c" }, + generate_requires_npm = true, + }, + filetype = "shaderslang", + maintainers = { "@theHamsta" }, + experimental = true, +} + list.slint = { install_info = { url = "https://github.com/jrmoulton/tree-sitter-slint", diff --git a/queries/slang/folds.scm b/queries/slang/folds.scm new file mode 100644 index 000000000..c8cc87643 --- /dev/null +++ b/queries/slang/folds.scm @@ -0,0 +1,9 @@ +; inherits: hlsl + +[ + (interface_specifier) + (extension_specifier) + (property_declaration) + (subscript_declaration) + (init_declaration) +] @fold diff --git a/queries/slang/highlights.scm b/queries/slang/highlights.scm new file mode 100644 index 000000000..6fd5f45ea --- /dev/null +++ b/queries/slang/highlights.scm @@ -0,0 +1,42 @@ +; inherits: hlsl + +[ + "var" + "let" + "This" +] @type.builtin + +[ + "interface" + "extension" + "property" +] @keyword + +[ + "__init" +] @constructor + +[ + "__subscript" + "get" + "set" +] @function.builtin + +(interface_requirements (identifier) @type) + +(binary_expression + ["is" "as"] + right: (identifier) @type) + +[ + "as" + "is" +] @keyword.operator + +[ + "__exported" + "import" +] @include + +(property_declaration + (identifier) @property) diff --git a/queries/slang/indents.scm b/queries/slang/indents.scm new file mode 100644 index 000000000..6175ac5bc --- /dev/null +++ b/queries/slang/indents.scm @@ -0,0 +1,6 @@ +; inherits: hlsl + +[ + (interface_specifier) + (extension_specifier) +] @indent.begin diff --git a/queries/slang/injections.scm b/queries/slang/injections.scm new file mode 100644 index 000000000..bf83e478a --- /dev/null +++ b/queries/slang/injections.scm @@ -0,0 +1,5 @@ +((preproc_arg) @injection.content + (#set! injection.language "slang")) + +((comment) @injection.content + (#set! injection.language "comment")) diff --git a/queries/slang/locals.scm b/queries/slang/locals.scm new file mode 100644 index 000000000..647bd1fef --- /dev/null +++ b/queries/slang/locals.scm @@ -0,0 +1 @@ +; inherits: hlsl |
