1[
2 "if"
3 "then"
4 "else"
5 "let"
6 "in"
7 (case)
8 (of)
9 (backslash)
10 (as)
11 (port)
12 (exposing)
13 (alias)
14 (import)
15 (module)
16 (type)
17 (arrow)
18 ] @keyword
19
20[
21 (eq)
22 (operator_identifier)
23 (colon)
24] @operator
25
26(type_annotation(lower_case_identifier) @function)
27(port_annotation(lower_case_identifier) @function)
28(function_declaration_left(lower_case_identifier) @function.definition)
29
30(function_call_expr
31 target: (value_expr
32 name: (value_qid (lower_case_identifier) @function)))
33
34(exposed_value(lower_case_identifier) @function)
35(exposed_type(upper_case_identifier) @type)
36
37(field_access_expr(value_expr(value_qid)) @identifier)
38(lower_pattern) @variable
39(record_base_identifier) @identifier
40
41[
42 "("
43 ")"
44] @punctuation.bracket
45
46[
47 "|"
48 ","
49] @punctuation.delimiter
50
51(number_constant_expr) @constant
52
53(type_declaration(upper_case_identifier) @type)
54(type_ref) @type
55(type_alias_declaration name: (upper_case_identifier) @type)
56
57(value_expr(upper_case_qid(upper_case_identifier)) @type)
58
59[
60 (line_comment)
61 (block_comment)
62] @comment
63
64(string_escape) @string.escape
65
66[
67 (open_quote)
68 (close_quote)
69 (regular_string_part)
70 (open_char)
71 (close_char)
72] @string