aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--queries/unison/highlights.scm27
1 files changed, 21 insertions, 6 deletions
diff --git a/queries/unison/highlights.scm b/queries/unison/highlights.scm
index 41f7e19bf..20e68a1c5 100644
--- a/queries/unison/highlights.scm
+++ b/queries/unison/highlights.scm
@@ -13,6 +13,8 @@
(type_kw)
(do)
(kw_let)
+ (ability)
+ (where)
] @keyword
(kw_equals) @keyword.operator
@@ -49,14 +51,25 @@
;; Types
(record_field name: (wordy_id) @variable type: (wordy_id) @type)
-[
- (type_name)
- (type_signature)
- (effect)
-] @type
+(type_name) @type
+
+(ability_declaration type_name: (wordy_id) @type type_arg: (wordy_id) @parameter)
+(effect (wordy_id) @attribute) ;; NOTE: an effect is a special type
+
-(term_definition) @variable
+;; Namespaces
+(path) @namespace
+(namespace) @namespace
+;; Terms
+(type_signature term_name: (path) @namespace term_name: (wordy_id) @variable)
+(type_signature term_name: (wordy_id) @variable)
+(term_type) @type
+
+(function_application function_name: (path) function_name: (wordy_id) @function)
+
+(term_definition name: (wordy_id) @variable)
+(term_definition param: (wordy_id) @parameter)
;; Punctuation
[
(type_signature_colon)
@@ -71,3 +84,5 @@
"["
"]"
] @punctuation.bracket
+
+(test_watch_expression (wordy_id) @preproc)