diff --git a/README.md b/README.md index 115ed31c..dc7ccd19 100644 --- a/README.md +++ b/README.md @@ -188,6 +188,7 @@ We are looking for maintainers to add more parsers and to write query files for - [x] [bibtex](https://github.com/latex-lsp/tree-sitter-bibtex) (maintained by @theHamsta, @clason) - [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] [blade](https://github.com/EmranMR/tree-sitter-blade) (maintained by @calebdw) - [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) diff --git a/lockfile.json b/lockfile.json index 6d404d24..9ae24ea0 100644 --- a/lockfile.json +++ b/lockfile.json @@ -44,6 +44,9 @@ "bitbake": { "revision": "a5d04fdb5a69a02b8fa8eb5525a60dfb5309b73b" }, + "blade": { + "revision": "bcdc4b01827cac21205f7453e9be02f906943128" + }, "blueprint": { "revision": "60ba73739c6083c693d86a1a7cf039c07eb4ed59" }, diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 9eeb4001..c73225f9 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -191,6 +191,14 @@ list.bitbake = { maintainers = { "@amaanq" }, } +list.blade = { + install_info = { + url = "https://github.com/EmranMR/tree-sitter-blade", + files = { "src/parser.c" }, + }, + maintainers = { "@calebdw" }, +} + list.blueprint = { install_info = { url = "https://gitlab.com/gabmus/tree-sitter-blueprint.git", diff --git a/queries/blade/folds.scm b/queries/blade/folds.scm new file mode 100644 index 00000000..cc081a75 --- /dev/null +++ b/queries/blade/folds.scm @@ -0,0 +1,14 @@ +[ + (authorization) + (conditional) + (envoy) + (fragment) + (livewire) + (loop) + (once) + (php_statement) + (section) + (stack) + (switch) + (verbatim) +] @fold diff --git a/queries/blade/highlights.scm b/queries/blade/highlights.scm new file mode 100644 index 00000000..c05d2845 --- /dev/null +++ b/queries/blade/highlights.scm @@ -0,0 +1,15 @@ +([ + (directive) + (directive_start) + (directive_end) +] @tag + (#set! priority 101)) + +([ + (bracket_start) + (bracket_end) +] @tag.delimiter + (#set! priority 101)) + +((comment) @comment @spell + (#set! priority 101)) diff --git a/queries/blade/indents.scm b/queries/blade/indents.scm new file mode 100644 index 00000000..bd3e84d1 --- /dev/null +++ b/queries/blade/indents.scm @@ -0,0 +1,3 @@ +(directive_start) @indent.begin + +(directive_end) @indent.end diff --git a/queries/blade/injections.scm b/queries/blade/injections.scm new file mode 100644 index 00000000..4f5234e3 --- /dev/null +++ b/queries/blade/injections.scm @@ -0,0 +1,15 @@ +((text) @injection.content + (#set! injection.combined) + (#set! injection.language php)) + +((text) @injection.content + (#has-ancestor? @injection.content "envoy") + (#set! injection.combined) + (#set! injection.language bash)) + +((php_only) @injection.content + (#set! injection.combined) + (#set! injection.language php_only)) + +((parameter) @injection.content + (#set! injection.language php_only))