summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lua/nvim-treesitter/parsers.lua9
-rw-r--r--queries/hocon/highlights.scm37
-rw-r--r--queries/hocon/injections.scm1
3 files changed, 47 insertions, 0 deletions
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua
index 314efab4..9b6cb3ba 100644
--- a/lua/nvim-treesitter/parsers.lua
+++ b/lua/nvim-treesitter/parsers.lua
@@ -802,6 +802,15 @@ list.hjson = {
maintainers = { "@winston0410" },
}
+list.hocon = {
+ install_info = {
+ url = "https://github.com/antosha417/tree-sitter-hocon",
+ files = { "src/parser.c" },
+ generate_requires_npm = true,
+ },
+ maintainers = { "@antosha417" },
+}
+
list.llvm = {
install_info = {
url = "https://github.com/benwilliamgraham/tree-sitter-llvm",
diff --git a/queries/hocon/highlights.scm b/queries/hocon/highlights.scm
new file mode 100644
index 00000000..3fb8249a
--- /dev/null
+++ b/queries/hocon/highlights.scm
@@ -0,0 +1,37 @@
+(comment) @comment
+
+(null) @constant.builtin
+[ (true) (false) ] @boolean
+(number) @number
+(unit) @keyword
+(string) @string
+(multiline_string) @string
+(string (escape_sequence) @string.escape)
+(unquoted_string) @string
+
+[ "url"
+ "file"
+ "classpath"
+ "required"
+] @keyword
+
+(include "include" @include)
+
+(substitution ["${" "${?" "}"] @punctuation.special)
+(substitution (_) @field)
+
+(path (_) @field)
+(value [":" "=" "+=" ] @operator)
+
+[
+ "("
+ ")"
+ "["
+ "]"
+ "{"
+ "}"
+] @punctuation.bracket
+
+[ "," ] @punctuation.delimiter
+(unquoted_path "." @punctuation.delimiter)
+
diff --git a/queries/hocon/injections.scm b/queries/hocon/injections.scm
new file mode 100644
index 00000000..4bb7d675
--- /dev/null
+++ b/queries/hocon/injections.scm
@@ -0,0 +1 @@
+(comment) @comment