From 9399bfd816f7193b6fa801169f6a907afdd66e5c Mon Sep 17 00:00:00 2001 From: Vladimir Levin <34550675+opa-oz@users.noreply.github.com> Date: Mon, 24 Mar 2025 01:04:41 +0900 Subject: feat(caddy): add parser and queries (#7588) --------- Co-authored-by: Christian Clason --- README.md | 1 + lockfile.json | 3 +++ lua/nvim-treesitter/parsers.lua | 8 ++++++ queries/caddy/folds.scm | 1 + queries/caddy/highlights.scm | 55 +++++++++++++++++++++++++++++++++++++++++ queries/caddy/indents.scm | 8 ++++++ queries/caddy/injections.scm | 2 ++ 7 files changed, 78 insertions(+) create mode 100644 queries/caddy/folds.scm create mode 100644 queries/caddy/highlights.scm create mode 100644 queries/caddy/indents.scm create mode 100644 queries/caddy/injections.scm diff --git a/README.md b/README.md index 5e8aa8943..9447e0f65 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,7 @@ We are looking for maintainers to add more parsers and to write query files for - [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] [caddy](https://github.com/opa-oz/tree-sitter-caddy) (maintained by @opa-oz) - [x] [cairo](https://github.com/amaanq/tree-sitter-cairo) (maintained by @amaanq) - [x] [capnp](https://github.com/amaanq/tree-sitter-capnp) (maintained by @amaanq) - [x] [chatito](https://github.com/ObserverOfTime/tree-sitter-chatito) (maintained by @ObserverOfTime) diff --git a/lockfile.json b/lockfile.json index 46dca3835..a230a95e5 100644 --- a/lockfile.json +++ b/lockfile.json @@ -59,6 +59,9 @@ "c_sharp": { "revision": "b5eb5742f6a7e9438bee22ce8026d6b927be2cd7" }, + "caddy": { + "revision": "2686186edb61be47960431c93a204fb249681360" + }, "cairo": { "revision": "6238f609bea233040fe927858156dee5515a0745" }, diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index b4bbf751d..edbc003d5 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -233,6 +233,14 @@ list.c_sharp = { maintainers = { "@amaanq" }, } +list.caddy = { + install_info = { + url = "https://github.com/opa-oz/tree-sitter-caddy", + files = { "src/parser.c", "src/scanner.c" }, + }, + maintainers = { "@opa-oz" }, +} + list.cairo = { install_info = { url = "https://github.com/amaanq/tree-sitter-cairo", diff --git a/queries/caddy/folds.scm b/queries/caddy/folds.scm new file mode 100644 index 000000000..fd7d23999 --- /dev/null +++ b/queries/caddy/folds.scm @@ -0,0 +1 @@ +(block) @fold diff --git a/queries/caddy/highlights.scm b/queries/caddy/highlights.scm new file mode 100644 index 000000000..47a170f76 --- /dev/null +++ b/queries/caddy/highlights.scm @@ -0,0 +1,55 @@ +(comment) @comment @spell + +[ + (env) + (argv) + (block_variable) + (placeholder) +] @constant + +(value) @variable + +(directive + (keyword) @attribute) + +(global_options + (option + (keyword) @attribute)) + +(keyword) @keyword + +(boolean) @boolean + +(placeholder + [ + "{" + "}" + ] @punctuation.special) + +(auto) @variable.builtin + +[ + (string_literal) + (quoted_string_literal) + (address) +] @string + +[ + (matcher) + (route) + (snippet_name) +] @string.special + +[ + (numeric_literal) + (time) + (size) + (ip_literal) +] @number + +[ + "{" + "}" +] @punctuation.bracket + +"," @punctuation.delimiter diff --git a/queries/caddy/indents.scm b/queries/caddy/indents.scm new file mode 100644 index 000000000..b746788ab --- /dev/null +++ b/queries/caddy/indents.scm @@ -0,0 +1,8 @@ +(block) @indent.begin + +(block + "}" @indent.branch) + +(comment) @indent.auto + +(ERROR) @indent.auto diff --git a/queries/caddy/injections.scm b/queries/caddy/injections.scm new file mode 100644 index 000000000..2f0e58eb6 --- /dev/null +++ b/queries/caddy/injections.scm @@ -0,0 +1,2 @@ +((comment) @injection.content + (#set! injection.language "comment")) -- cgit v1.2.3-70-g09d2