Skip to content

Commit

Permalink
Update Unison tree-sitter grammar for type changes and add indent que…
Browse files Browse the repository at this point in the history
…ries (helix-editor#9505)

* Update Unison tree-sitter grammar for type changes

* Add indent queries for Unison

* Improve Unison indent queries
  • Loading branch information
zetashift authored and Schuyler Mortimer committed Jul 10, 2024
1 parent ae22d95 commit 7549418
Show file tree
Hide file tree
Showing 4 changed files with 18 additions and 5 deletions.
2 changes: 1 addition & 1 deletion book/src/generated/lang-support.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@
| typescript |||| `typescript-language-server` |
| typst || | | `typst-lsp` |
| ungrammar || | | |
| unison || | | |
| unison || | | |
| uxntal || | | |
| v |||| `v-analyzer` |
| vala || | | `vala-language-server` |
Expand Down
2 changes: 1 addition & 1 deletion languages.toml
Original file line number Diff line number Diff line change
Expand Up @@ -2940,7 +2940,7 @@ indent = { tab-width = 4, unit = " " }

[[grammar]]
name = "unison"
source = { git = "https://github.com/kylegoetz/tree-sitter-unison", rev = "aaec316774c8b50d367ec7cf26523aac5ef0cfc5" }
source = { git = "https://github.com/kylegoetz/tree-sitter-unison", rev = "1f505e2447fa876a87aee47ff3d70b9e141c744f" }

[[language]]
name = "todotxt"
Expand Down
4 changes: 1 addition & 3 deletions runtime/queries/unison/highlights.scm
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@
;; Keywords
[
(kw_forall)
(unique_kw)
(structural_kw)
(type_kw)
(kw_equals)
(do)
Expand Down Expand Up @@ -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
Expand Down
15 changes: 15 additions & 0 deletions runtime/queries/unison/indents.scm
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit 7549418

Please sign in to comment.