summaryrefslogtreecommitdiff
path: root/runtime
diff options
context:
space:
mode:
authorzetashift2024-02-04 01:10:20 +0000
committerGitHub2024-02-04 01:10:20 +0000
commit6e3ed7f0fa91a3adc01f33e182999f606b48ce6a (patch)
treebd6f1304ec82c3fab765cd47af1c669ae6403415 /runtime
parent75d61d8149d1e55d25f0bc34d95f01d6a3f1f526 (diff)
Update Unison tree-sitter grammar for type changes and add indent queries (#9505)
* Update Unison tree-sitter grammar for type changes * Add indent queries for Unison * Improve Unison indent queries
Diffstat (limited to 'runtime')
-rw-r--r--runtime/queries/unison/highlights.scm4
-rw-r--r--runtime/queries/unison/indents.scm15
2 files changed, 16 insertions, 3 deletions
diff --git a/runtime/queries/unison/highlights.scm b/runtime/queries/unison/highlights.scm
index d58285ed..71177929 100644
--- a/runtime/queries/unison/highlights.scm
+++ b/runtime/queries/unison/highlights.scm
@@ -9,8 +9,6 @@
;; Keywords
[
(kw_forall)
- (unique_kw)
- (structural_kw)
(type_kw)
(kw_equals)
(do)
@@ -51,7 +49,7 @@
(blank_pattern) @variable.builtin
;; Types
-(record_field name: (wordy_id) @variable.other.member type: (wordy_id) @type)
+(record_field name: (wordy_id) @variable.other.member type: (_) @type)
(type_constructor (type_name (wordy_id) @constructor))
(ability_declaration type_name: (wordy_id) @type type_arg: (wordy_id) @variable.parameter)
(effect (wordy_id) @special) ;; NOTE: an effect is just like a type, but in signature we special case it
diff --git a/runtime/queries/unison/indents.scm b/runtime/queries/unison/indents.scm
new file mode 100644
index 00000000..6cb15517
--- /dev/null
+++ b/runtime/queries/unison/indents.scm
@@ -0,0 +1,15 @@
+[
+ (term_definition)
+ (type_declaration)
+ (pattern)
+ (tuple_or_parenthesized)
+ (literal_list)
+ (tuple_pattern)
+ (function_application)
+ (exp_if)
+ (constructor)
+ (delay_block)
+ (type_signature)
+] @indent
+
+[(kw_then) (kw_else) (cases)] @indent.always @extend