@@ -33,6 +33,11 @@
33;; ----------------------------------------------------------------------------
33;; ----------------------------------------------------------------------------
34;; Keywords, operators, includes
34;; Keywords, operators, includes
39+] @keyword.control.repeat
36(pragma) @constant.macro
41(pragma) @constant.macro
@@ -68,10 +73,7 @@
69] @operator
74] @operator
71−(qualified_module (module) @constructor)
72−(qualified_type (module) @namespace)
76+(module) @namespace
73−(qualified_variable (module) @namespace)
74−(import (module) @namespace)
@@ -92,8 +94,6 @@
@@ -104,22 +104,35 @@
104;; Functions and variables
104;; Functions and variables
106(signature name: (variable) @type)
106(signature name: (variable) @type)
107−(function name: (variable) @function)
108+ name: (variable) @function
108−
109+ patterns: (patterns))
109−(variable) @variable
110+((signature (fun)) . (function (variable) @function))
110−"_" @variable.builtin
111+((signature (context (fun))) . (function (variable) @function))
112+((signature (forall (context (fun)))) . (function (variable) @function))
112(exp_infix (variable) @operator) ; consider infix functions as operators
114(exp_infix (variable) @operator) ; consider infix functions as operators
114−("@" @namespace) ; "as" pattern operator, e.g. x@Constructor
116+(exp_infix (exp_name) @function)
117+(exp_apply . (exp_name (variable) @function))
118+(exp_apply . (exp_name (qualified_variable (variable) @function)))
121+(pat_wildcard) @variable
117;; ----------------------------------------------------------------------------
123;; ----------------------------------------------------------------------------
120(type) @type
126(type) @type
127+(type_variable) @type
122(constructor) @constructor
129(constructor) @constructor
124; True or False
131; True or False
125((constructor) @_bool (#match? @_bool "(True|False)")) @constant.builtin.boolean
132((constructor) @_bool (#match? @_bool "(True|False)")) @constant.builtin.boolean
134+;; ----------------------------------------------------------------------------
138+; Highlighting of quasiquote_body is handled by injections.scm