@@ -1,52 +1,110 @@
3(integer_literal) @constant.numeric.integer
2(integer_literal) @constant.numeric.integer
4(natural_literal) @constant.numeric.integer
3(natural_literal) @constant.numeric.integer
5(double_literal) @constant.numeric.float
4(double_literal) @constant.numeric.float
6(boolean_literal) @constant.builtin.boolean
5(boolean_literal) @constant.builtin.boolean
6+(builtin "None") @constant.builtin
7(text_literal) @string
9(text_literal) @string
10+(interpolation "}" @string)
11+(double_quote_escaped) @constant.character.escape
12+(single_quote_escaped) @constant.character.escape
8(local_import) @string.special.path
15(local_import) @string.special.path
9(http_import) @string.special.url
16(http_import) @string.special.url
18+(env_variable) @string.special
10−(import_hash) @string
19+(import_hash) @string.special
20+(missing_import) @keyword.control.import
21+[ (import_as_location) (import_as_text) ] @type
12;; Comments
23;; Comments
13−[
24+(block_comment) @comment.block
14− (line_comment)
25+(line_comment) @comment.line
29+ (let_binding (label) @type)
30+ (union_type_entry (label) @type)
31+] (#match? @type "^[A-Z]"))
32+((primitive_expression
33+ (identifier (label) @type)
34+ (selector (label) @type)?) @whole_identifier
35+ (#match? @whole_identifier "(?:^|\\.)[A-Z][^.]*$"))
40+ (de_bruijn_index) @operator
42+(let_binding label: (label) @variable)
43+(lambda_expression label: (label) @variable.parameter)
44+(record_literal_entry (label) @variable.other.member)
45+(record_type_entry (label) @variable.other.member)
46+(selector) @variable.other.member
18;; Keywords
48;; Keywords
22− (assign_operator)
52+ "assert"
23 (type_operator)
62 (type_operator)
24 (lambda_operator)
64 (lambda_operator)
25 (arrow_operator)
65 (arrow_operator)
26 (infix_operator)
66 (infix_operator)
27 (completion_operator)
67 (completion_operator)
30 (assert_operator)
68 (assert_operator)
32 (forall_operator)
69 (forall_operator)
33− ("with")
70+ (empty_record_literal)
34−] @keyword
71+] @operator
36;; Builtins
73;; Builtins
38− (builtin_function)
74+(builtin_function) @function.builtin
39− (missing_import)
75+(builtin [
40−] @function.builtin
76+ "Bool"
43− (builtin)
92+[ "," "|" ] @punctuation.delimiter
44− (import_as_text)
93+(selector_dot) @punctuation.delimiter
103+] @punctuation.bracket
47;; Conditionals
105;; Conditionals
52] @keyword.control.conditional
110] @keyword.control.conditional