@@ -10,14 +10,18 @@
11 (kw_forall)
11 (kw_forall)
12 (unique_kw)
12 (unique_kw)
14 (kw_equals)
15 (kw_equals)
18(kw_let) @keyword.function
21(kw_let) @keyword.function
19(type_kw) @keyword.storage.type
22(type_kw) @keyword.storage.type
20(unique) @keyword.storage.modifier
23(unique) @keyword.storage.modifier
24+(structural) @keyword.storage.modifier
21("use") @keyword.control.import
25("use") @keyword.control.import
@@ -31,6 +35,7 @@
31 (arrow_symbol)
35 (arrow_symbol)
35] @operator
40] @operator
@@ -47,13 +52,22 @@
49(record_field name: (wordy_id) @variable.other.member type: (wordy_id) @type)
54(record_field name: (wordy_id) @variable.other.member type: (wordy_id) @type)
50−[
55+(type_constructor (type_name (wordy_id) @constructor))
51− (type_name)
56+(ability_declaration type_name: (wordy_id) @type type_arg: (wordy_id) @variable.parameter)
52− (type_signature)
57+(effect (wordy_id) @special) ;; NOTE: an effect is just like a type, but in signature we special case it
54−] @type
59+;; Namespaces
61+(namespace) @namespace
64+(type_signature term_name: (path)? @variable term_name: (wordy_id) @variable)
65+(type_signature (wordy_id) @type)
66+(type_signature (delayed (wordy_id)) @type)
68+(term_definition param: (wordy_id) @variable.parameter)
56−(term_definition) @variable
70+(function_application function_name: (path)? function_name: (wordy_id) @function)
58;; Punctuation
72;; Punctuation
@@ -70,3 +84,4 @@
71] @punctuation.bracket
85] @punctuation.bracket
87+(test_watch_expression (wordy_id) @keyword.directive)