From 684b74bea1dac1a7fd067e83dc5a8a40f5a37d55 Mon Sep 17 00:00:00 2001 From: elianiva Date: Wed, 21 Apr 2021 16:05:06 +0700 Subject: feat: add haskell highlights --- queries/haskell/highlights.scm | 91 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 queries/haskell/highlights.scm (limited to 'queries') diff --git a/queries/haskell/highlights.scm b/queries/haskell/highlights.scm new file mode 100644 index 000000000..d999cb8ec --- /dev/null +++ b/queries/haskell/highlights.scm @@ -0,0 +1,91 @@ +(integer) @number +(exp_literal (float)) @float + +(char) @character + +(string) @string + +(variable) @variable + +(con_unit) @symbol + +(comment) @comment + +(function name: (variable) @function) + +[ + "forall" + "∀" +] @repeat + +(pragma) @constant.macro + +[ + "if" + "then" + "else" +] @conditional + +[ + (constructor) + (module) +] @constructor + +;; True or False +((constructor) @_bool (#match? @_bool "(True|False)")) @boolean + +(signature name: (variable) @type) +(constraint class: (class_name (type)) @type) +(class (class_head class: (class_name (type)) @type)) +(instance (instance_head class: (class_name (type)) @type)) + +[ + (type) +] @type + +[ + (qualified_module) ;; grabs the `.` (dot), ex: import System.IO + (tycon_arrow) + (operator) + (constructor_operator) + "::" +] @operator + +[ + "import" + "module" +] @include + +[ + (where) + "let" + "in" + "class" + "instance" + "data" + "newtype" + "family" + "type" + "qualified" + "as" + "deriving" + "via" + "stock" + "anyclass" + "do" + "mdo" + "rec" +] @keyword + +[ + "(" + ")" + "{" + "}" + "[" + "]" +] @punctuation.bracket + +; [ +; "," +; ] @punctuation.delimiter -- cgit v1.2.3-70-g09d2