@@ -0,0 +1,83 @@
1+; Keywords
2+[
3+ "if"
4+ "then"
5+ "else"
6+ "let"
7+ "in"
8+ ] @keyword.control
9+(case) @keyword.control
10+(of) @keyword.control
11+
12+(colon) @keyword.operator
13+(backslash) @keyword
14+(as) @keyword
15+(port) @keyword
16+(exposing) @keyword
17+(alias) @keyword
18+(infix) @keyword
19+
20+(arrow) @keyword.operator
21+(dot) @keyword.operator
22+
23+(port) @keyword
24+
25+(type_annotation(lower_case_identifier) @function)
26+(port_annotation(lower_case_identifier) @function)
27+(file (value_declaration (function_declaration_left(lower_case_identifier) @function)))
28+
29+(field name: (lower_case_identifier) @attribute)
30+(field_access_expr(lower_case_identifier) @attribute)
31+
32+(operator_identifier) @keyword.operator
33+(eq) @keyword.operator.assignment
34+
35+[
36+ "("
37+ ")"
38+ "["
39+ "]"
40+ "{"
41+ "}"
42+] @punctuation.bracket
43+
44+"|" @keyword
45+"," @punctuation.delimiter
46+
47+[
48+ "|>"
49+] @keyword
50+
51+
52+(import) @keyword.contol.import
53+(module) @keyword.other
54+
55+(number_constant_expr) @constant.numeric
56+
57+(type) @type
58+
59+(type_declaration(upper_case_identifier) @type)
60+(type_ref) @type
61+(type_alias_declaration name: (upper_case_identifier) @type)
62+
63+(union_pattern constructor: (upper_case_qid (upper_case_identifier) @label (dot) (upper_case_identifier) @variable.other.member))
64+(union_pattern constructor: (upper_case_qid (upper_case_identifier) @variable.other.member))
65+
66+(union_variant(upper_case_identifier) @variable.other.member)
67+(value_expr name: (value_qid (upper_case_identifier) @label))
68+(value_expr (upper_case_qid (upper_case_identifier) @label (dot) (upper_case_identifier) @variable.other.member))
69+(value_expr(upper_case_qid(upper_case_identifier)) @variable.other.member)
70+
71+; comments
72+(line_comment) @comment
73+(block_comment) @comment
74+
75+; strings
76+(string_escape) @constant.character.escape
77+
78+(open_quote) @string
79+(close_quote) @string
80+(regular_string_part) @string
81+
82+(open_char) @constant.character
83+(close_char) @constant.character