diff options
| author | Bruno BELANYI <bruno@belanyi.fr> | 2024-05-23 17:30:26 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-05-23 17:30:26 +0200 |
| commit | 298a9dd4f8a0d95b347a7ebd301849d8b0e3917e (patch) | |
| tree | 5b8392ec5f55479c9a04a8a722fef85d8329c889 | |
| parent | bot(lockfile): update ada, clojure, mlir, templ (diff) | |
| download | nvim-treesitter-298a9dd4f8a0d95b347a7ebd301849d8b0e3917e.tar nvim-treesitter-298a9dd4f8a0d95b347a7ebd301849d8b0e3917e.tar.gz nvim-treesitter-298a9dd4f8a0d95b347a7ebd301849d8b0e3917e.tar.bz2 nvim-treesitter-298a9dd4f8a0d95b347a7ebd301849d8b0e3917e.tar.lz nvim-treesitter-298a9dd4f8a0d95b347a7ebd301849d8b0e3917e.tar.xz nvim-treesitter-298a9dd4f8a0d95b347a7ebd301849d8b0e3917e.tar.zst nvim-treesitter-298a9dd4f8a0d95b347a7ebd301849d8b0e3917e.zip | |
feat(bp): add support for Android Blueprint (#6626)
| -rw-r--r-- | README.md | 1 | ||||
| -rw-r--r-- | lockfile.json | 3 | ||||
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 8 | ||||
| -rw-r--r-- | queries/bp/folds.scm | 6 | ||||
| -rw-r--r-- | queries/bp/highlights.scm | 55 | ||||
| -rw-r--r-- | queries/bp/indents.scm | 38 | ||||
| -rw-r--r-- | queries/bp/injections.scm | 2 | ||||
| -rw-r--r-- | queries/bp/locals.scm | 12 |
8 files changed, 125 insertions, 0 deletions
@@ -189,6 +189,7 @@ We are looking for maintainers to add more parsers and to write query files for - [x] [bicep](https://github.com/amaanq/tree-sitter-bicep) (maintained by @amaanq) - [x] [bitbake](https://github.com/amaanq/tree-sitter-bitbake) (maintained by @amaanq) - [x] [blueprint](https://gitlab.com/gabmus/tree-sitter-blueprint.git) (experimental, maintained by @gabmus) +- [x] [bp](https://github.com/ambroisie/tree-sitter-bp) (maintained by @ambroisie) - [x] [c](https://github.com/tree-sitter/tree-sitter-c) (maintained by @amaanq) - [x] [c_sharp](https://github.com/tree-sitter/tree-sitter-c-sharp) (maintained by @amaanq) - [x] [cairo](https://github.com/amaanq/tree-sitter-cairo) (maintained by @amaanq) diff --git a/lockfile.json b/lockfile.json index b153620bf..5f443bf8d 100644 --- a/lockfile.json +++ b/lockfile.json @@ -47,6 +47,9 @@ "blueprint": { "revision": "60ba73739c6083c693d86a1a7cf039c07eb4ed59" }, + "bp": { + "revision": "2326d709fb9cf73cf124fdbc803c267f851721a4" + }, "c": { "revision": "82fb86aa544843bd17a9f0f3dc16edf645a34349" }, diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index a3351d176..d2abb9d53 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -210,6 +210,14 @@ list.blueprint = { experimental = true, } +list.bp = { + install_info = { + url = "https://github.com/ambroisie/tree-sitter-bp", + files = { "src/parser.c" }, + }, + maintainers = { "@ambroisie" }, +} + list.c = { install_info = { url = "https://github.com/tree-sitter/tree-sitter-c", diff --git a/queries/bp/folds.scm b/queries/bp/folds.scm new file mode 100644 index 000000000..c40ea3df4 --- /dev/null +++ b/queries/bp/folds.scm @@ -0,0 +1,6 @@ +[ + (list_expression) + (map_expression) + (module) + (select_expression) +] @fold diff --git a/queries/bp/highlights.scm b/queries/bp/highlights.scm new file mode 100644 index 000000000..d18e6eea0 --- /dev/null +++ b/queries/bp/highlights.scm @@ -0,0 +1,55 @@ +(comment) @comment @spell + +(operator) @operator + +(integer_literal + "-" @operator) + +[ + "," + ":" +] @punctuation.delimiter + +[ + "(" + ")" + "[" + "]" + "{" + "}" +] @punctuation.bracket + +(boolean_literal) @boolean + +(integer_literal) @number + +[ + (raw_string_literal) + (interpreted_string_literal) +] @string + +(escape_sequence) @string.escape + +(identifier) @variable + +(module + type: (identifier) @function.call) + +(module + (property + field: (identifier) @variable.parameter)) + +[ + (unset) + (default) +] @variable.builtin + +(condition + name: (identifier) @function.builtin) + +(map_expression + (property + field: (identifier) @property)) + +(select_expression + "select" @keyword.conditional) diff --git a/queries/bp/indents.scm b/queries/bp/indents.scm new file mode 100644 index 000000000..8cf8adc83 --- /dev/null +++ b/queries/bp/indents.scm @@ -0,0 +1,38 @@ +(list_expression) @indent.begin + +(list_expression + "]" @indent.branch) + +(map_expression) @indent.begin + +(map_expression + "}" @indent.branch) + +(select_expression) @indent.begin + +(select_expression + ")" @indent.branch) + +(select_value) @indent.begin + +(select_value + ")" @indent.branch) + +(select_pattern + "(" @indent.begin) + +(select_pattern + ")" @indent.branch) + +(select_cases) @indent.begin + +(select_cases + "}" @indent.branch) + +(module) @indent.begin + +(module + ")" @indent.branch) + +(module + "}" @indent.branch) diff --git a/queries/bp/injections.scm b/queries/bp/injections.scm new file mode 100644 index 000000000..2f0e58eb6 --- /dev/null +++ b/queries/bp/injections.scm @@ -0,0 +1,2 @@ +((comment) @injection.content + (#set! injection.language "comment")) diff --git a/queries/bp/locals.scm b/queries/bp/locals.scm new file mode 100644 index 000000000..66b444fc6 --- /dev/null +++ b/queries/bp/locals.scm @@ -0,0 +1,12 @@ +(module + (property + field: (identifier) @local.definition.parameter)) + +(map_expression + (property + field: (identifier) @local.definition.field)) + +(assignment + left: (identifier) @local.definition.var) + +(identifier) @local.reference |
