diff options
| -rw-r--r-- | lua/nvim-treesitter/parsers.lua | 8 | ||||
| -rw-r--r-- | queries/nickel/highlights.scm | 61 |
2 files changed, 69 insertions, 0 deletions
diff --git a/lua/nvim-treesitter/parsers.lua b/lua/nvim-treesitter/parsers.lua index 85485aa5..cb72b911 100644 --- a/lua/nvim-treesitter/parsers.lua +++ b/lua/nvim-treesitter/parsers.lua @@ -1211,6 +1211,14 @@ list.gitignore = { maintainers = { "@theHamsta" }, } +list.nickel = { + install_info = { + url = "https://github.com/nickel-lang/tree-sitter-nickel", + files = { "src/parser.c", "src/scanner.cc" }, + branch = "main", + }, +} + list.gitattributes = { install_info = { url = "https://github.com/ObserverOfTime/tree-sitter-gitattributes", diff --git a/queries/nickel/highlights.scm b/queries/nickel/highlights.scm new file mode 100644 index 00000000..53f4c134 --- /dev/null +++ b/queries/nickel/highlights.scm @@ -0,0 +1,61 @@ +(comment) @comment @spell + +[ + "forall" + "in" + "let" + "default" + "doc" + "rec" +] @keyword + +"fun" @keyword.function + +"import" @include + +[ "if" "then" "else" ] @conditional +"switch" @conditional + +(types) @type +"Array" @type.builtin + +; BUILTIN Constants +(bool) @constant.builtin +"null" @constant.builtin + +(num_literal) @number + +(infix_op) @operator + +(type_atom) @type +(enum_tag) @variable + +(chunk_literal_single) @string +(chunk_literal_multi) @string + +(str_esc_char) @string.escape + +[ + "{" "}" + "(" ")" + "[|" "|]" +] @punctuation.bracket + +(multstr_start) @punctuation.bracket +(multstr_end) @punctuation.bracket +(interpolation_start) @punctuation.bracket +(interpolation_end) @punctuation.bracket + +(record_field) @field + +(builtin) @function.builtin + +(fun_expr pats: + (pattern id: + (ident) @parameter + ) +) + +(applicative t1: + (applicative (record_operand) @function) +) |
