From 961647719769e6b2baa8ae74630c16ab8963fa61 Mon Sep 17 00:00:00 2001 From: Erin van der Veen Date: Wed, 20 Apr 2022 16:31:59 +0200 Subject: Add Nickel language (#2173) --- runtime/queries/nickel/highlights.scm | 67 +++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 runtime/queries/nickel/highlights.scm (limited to 'runtime/queries/nickel/highlights.scm') diff --git a/runtime/queries/nickel/highlights.scm b/runtime/queries/nickel/highlights.scm new file mode 100644 index 00000000..a204dfca --- /dev/null +++ b/runtime/queries/nickel/highlights.scm @@ -0,0 +1,67 @@ +(types) @type +(type_builtin) @type.builtin +"Array" @type.builtin + +(enum_tag) @constructor + +"null" @constant.builtin +(bool) @constant.builtin.boolean +(str_esc_char) @constant.character.escape +(num_literal) @constant.numeric + +(str_chunks) @string + +; NOTE: Nickel has no block comments +(comment) @comment.line +; Nickel doesn't use comments for documentation, ideally this would be +; `@documentation` or something similar +(annot_atom + doc: (static_string) @comment.block.documentation +) + +(record_operand (atom (ident) @variable)) +(let_expr + "let" @keyword + pat: (pattern + (ident) @variable + ) + "in" @keyword +) +(fun_expr + "fun" @keyword.function + pats: + (pattern + id: (ident) @variable.parameter + )+ + "=>" @operator +) +(record_field) @variable.other.member + +[ + "." +] @punctuation.delimiter +[ + "{" "}" + "(" ")" + "[|" "|]" + "[" "]" +] @punctuation.bracket +(multstr_start) @punctuation.bracket +(multstr_end) @punctuation.bracket +(interpolation_start) @punctuation.bracket +(interpolation_end) @punctuation.bracket + +["forall" "default" "doc"] @keyword +["if" "then" "else" "switch"] @keyword.control.conditional +"import" @keyword.control.import + +(infix_expr + op: (_) @operator +) + +(applicative + t1: (applicative + (record_operand) @function + ) +) +(builtin) @function.builtin -- cgit v1.2.3-70-g09d2