@@ -1 +1,118 @@
1−; inherits: haskell
1+; ----------------------------------------------------------------------------
2+; Literals and comments
4+ (integer) @constant.numeric.integer
5+ (exp_negation) @constant.numeric.integer
6+ (exp_literal (float)) @constant.numeric.float
7+ (char) @constant.character
10+ (con_unit) @constant.builtin ; unit, as in ()
15+; ----------------------------------------------------------------------------
25+ ] @punctuation.bracket
30+ ] @punctuation.delimiter
33+; ----------------------------------------------------------------------------
34+; Keywords, operators, includes
42+ ] @keyword.control.conditional
47+ ] @keyword.control.import
51+ (constructor_operator)
54+ (qualified_module) ; grabs the `.` (dot), ex: import System.IO
67+ (qualified_module (module) @constructor)
69+ (qualified_type (module) @namespace)
70+ (qualified_variable (module) @namespace)
71+ (import (module) @namespace)
95+; ----------------------------------------------------------------------------
96+; Functions and variables
98+ (signature name: (variable) @type)
99+ (function name: (variable) @function)
102+((variable) @constant.builtin.boolean
103+ (#match? @constant.builtin.boolean "^(true|false)$"))
105+ (variable) @variable
107+ (exp_infix (variable) @operator) ; consider infix functions as operators
109+ ("@" @namespace) ; "as" pattern operator, e.g. x@Constructor
112+; ----------------------------------------------------------------------------
117+ (constructor) @constructor