@@ -0,0 +1,101 @@
2+(module_comment) @comment
3+(statement_comment) @comment
8+ name: (identifier) @constant)
12+(import alias: (identifier) @namespace)
13+(remote_type_identifier
14+ module: (identifier) @namespace)
16+ record: (identifier) @namespace
17+ field: (label) @function)
21+(unqualified_import (identifier) @function)
23+ name: (identifier) @function)
25+ name: (identifier) @function)
27+ name: (identifier) @variable.parameter)
29+ function: (identifier) @function)
33+ right: (identifier) @function)
37+; Assumed to be intended to refer to a name for a field; something that comes
38+; before ":" or after "."
39+; e.g. record field names, tuple indices, names for named arguments, etc
40+(label) @variable.other.member
42+ index: (integer) @variable.other.member)
45+(remote_type_identifier) @type
46+(type_identifier) @type
50+(bit_string_segment_option) @function.builtin
51+(integer) @constant.numeric.integer
52+(float) @constant.numeric.float
55+(identifier) @variable
56+(discard) @comment.unused
60+ operator: _ @operator)
64+ (visibility_modifier) ; "pub"
65+ (opacity_modifier) ; "opaque"
90+] @punctuation.bracket
94+ ;; Controversial -- maybe some are operators?
101+] @punctuation.delimiter