aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md1
-rw-r--r--lockfile.json3
-rw-r--r--lua/nvim-treesitter/parsers.lua8
-rw-r--r--queries/cpon/folds.scm5
-rw-r--r--queries/cpon/highlights.scm45
-rw-r--r--queries/cpon/indents.scm23
-rw-r--r--queries/cpon/injections.scm1
-rw-r--r--queries/cpon/locals.scm7
8 files changed, 93 insertions, 0 deletions
diff --git a/README.md b/README.md
index f06919daf..bd3e47ecf 100644
--- a/README.md
+++ b/README.md
@@ -191,6 +191,7 @@ We are looking for maintainers to add more parsers and to write query files for
- [x] [comment](https://github.com/stsewd/tree-sitter-comment) (maintained by @stsewd)
- [x] [commonlisp](https://github.com/theHamsta/tree-sitter-commonlisp) (maintained by @theHamsta)
- [x] [cooklang](https://github.com/addcninblue/tree-sitter-cooklang) (maintained by @addcninblue)
+- [x] [cpon](https://github.com/amaanq/tree-sitter-cpon) (maintained by @amaanq)
- [x] [cpp](https://github.com/tree-sitter/tree-sitter-cpp) (maintained by @theHamsta)
- [x] [css](https://github.com/tree-sitter/tree-sitter-css) (maintained by @TravonteD)
- [x] [cuda](https://github.com/theHamsta/tree-sitter-cuda) (maintained by @theHamsta)
diff --git a/lockfile.json b/lockfile.json
index 1b9623cdb..f2815bff0 100644
--- a/lockfile.json
+++ b/lockfile.json
@@ -53,6 +53,9 @@
"cooklang": {
"revision": "5e113412aadb78955c27010daa4dbe1d202013cf"
},
+ "cpon": {
+ "revision": "b894a70f883d2cb7505b87a9d84a189fe8cd1982"
+ },
"cpp": {
"revision": "66262d3e76eb2046c76e6d661a6b72664bfb5819"
},
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua
index 1813f08dd..7b18ce7c6 100644
--- a/lua/nvim-treesitter/parsers.lua
+++ b/lua/nvim-treesitter/parsers.lua
@@ -220,6 +220,14 @@ list.cooklang = {
maintainers = { "@addcninblue" },
}
+list.cpon = {
+ install_info = {
+ url = "https://github.com/amaanq/tree-sitter-cpon",
+ files = { "src/parser.c" },
+ },
+ maintainers = { "@amaanq" },
+}
+
list.cpp = {
install_info = {
url = "https://github.com/tree-sitter/tree-sitter-cpp",
diff --git a/queries/cpon/folds.scm b/queries/cpon/folds.scm
new file mode 100644
index 000000000..02feec4e1
--- /dev/null
+++ b/queries/cpon/folds.scm
@@ -0,0 +1,5 @@
+[
+ (meta_map)
+ (map)
+ (array)
+] @fold
diff --git a/queries/cpon/highlights.scm b/queries/cpon/highlights.scm
new file mode 100644
index 000000000..f08647293
--- /dev/null
+++ b/queries/cpon/highlights.scm
@@ -0,0 +1,45 @@
+; Literals
+
+(string) @string
+(escape_sequence) @string.escape
+
+(hex_blob
+ "x" @character.special
+ (_) @string)
+
+(esc_blob
+ "b" @character.special
+ (_) @string)
+
+(datetime
+ "d" @character.special
+ (_) @string.special)
+
+(number) @number
+
+(float) @float
+
+(boolean) @boolean
+
+(null) @constant.builtin
+
+; Punctuation
+
+[
+ ","
+ ":"
+] @punctuation.delimiter
+
+[ "{" "}" ] @punctuation.bracket
+
+[ "[" "]" ] @punctuation.bracket
+
+[ "<" ">" ] @punctuation.bracket
+
+; Comments
+
+(comment) @comment @spell
+
+; Errors
+
+(ERROR) @error
diff --git a/queries/cpon/indents.scm b/queries/cpon/indents.scm
new file mode 100644
index 000000000..477ea83b5
--- /dev/null
+++ b/queries/cpon/indents.scm
@@ -0,0 +1,23 @@
+[
+ (meta_map)
+ (map)
+ (imap)
+ (array)
+] @indent
+
+[
+ "]"
+ "}"
+ ">"
+] @indent_end
+
+[ "{" "}" ] @branch
+
+[ "[" "]" ] @branch
+
+[ "<" ">" ] @branch
+
+[
+ (ERROR)
+ (comment)
+] @auto
diff --git a/queries/cpon/injections.scm b/queries/cpon/injections.scm
new file mode 100644
index 000000000..4bb7d675d
--- /dev/null
+++ b/queries/cpon/injections.scm
@@ -0,0 +1 @@
+(comment) @comment
diff --git a/queries/cpon/locals.scm b/queries/cpon/locals.scm
new file mode 100644
index 000000000..c1854af91
--- /dev/null
+++ b/queries/cpon/locals.scm
@@ -0,0 +1,7 @@
+[
+ (document)
+
+ (meta_map)
+ (map)
+ (array)
+] @scope