mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-16 02:10:15 -04:00
Feat: Add unison (#5340)
* Add unison * Trivial change to force prepush hook * Undo change * PR Feedback - remove appended text in query after variable, update lockfile, remove main branch specification in parser * Replacing captures with only ones in the contributing.md * Fix typo * Generate from grammar * First group of suggested changes * Update gt operator * Remove outer parens * Remove maybe.c * Add comment injection
This commit is contained in:
parent
17b943e7c5
commit
9d637b7ae8
5 changed files with 88 additions and 0 deletions
|
|
@ -372,6 +372,7 @@ We are looking for maintainers to add more parsers and to write query files for
|
||||||
- [x] [twig](https://github.com/gbprod/tree-sitter-twig) (maintained by @gbprod)
|
- [x] [twig](https://github.com/gbprod/tree-sitter-twig) (maintained by @gbprod)
|
||||||
- [x] [typescript](https://github.com/tree-sitter/tree-sitter-typescript) (maintained by @steelsojka)
|
- [x] [typescript](https://github.com/tree-sitter/tree-sitter-typescript) (maintained by @steelsojka)
|
||||||
- [x] [ungrammar](https://github.com/Philipp-M/tree-sitter-ungrammar) (maintained by @Philipp-M, @amaanq)
|
- [x] [ungrammar](https://github.com/Philipp-M/tree-sitter-ungrammar) (maintained by @Philipp-M, @amaanq)
|
||||||
|
- [x] [unison](https://github.com/kylegoetz/tree-sitter-unison) (maintained by @tapegram)
|
||||||
- [x] [usd](https://github.com/ColinKennedy/tree-sitter-usd) (maintained by @ColinKennedy)
|
- [x] [usd](https://github.com/ColinKennedy/tree-sitter-usd) (maintained by @ColinKennedy)
|
||||||
- [x] [uxn tal](https://github.com/amaanq/tree-sitter-uxntal) (maintained by @amaanq)
|
- [x] [uxn tal](https://github.com/amaanq/tree-sitter-uxntal) (maintained by @amaanq)
|
||||||
- [x] [v](https://github.com/v-analyzer/v-analyzer) (maintained by @kkharji, @amaanq)
|
- [x] [v](https://github.com/v-analyzer/v-analyzer) (maintained by @kkharji, @amaanq)
|
||||||
|
|
|
||||||
|
|
@ -596,6 +596,9 @@
|
||||||
"ungrammar": {
|
"ungrammar": {
|
||||||
"revision": "debd26fed283d80456ebafa33a06957b0c52e451"
|
"revision": "debd26fed283d80456ebafa33a06957b0c52e451"
|
||||||
},
|
},
|
||||||
|
"unison": {
|
||||||
|
"revision": "694c8c0c79f8d1b80d497401acf4d1b77bfb004a"
|
||||||
|
},
|
||||||
"usd": {
|
"usd": {
|
||||||
"revision": "718a6b3e939904e0b4fe7cff6742e96af4781f4b"
|
"revision": "718a6b3e939904e0b4fe7cff6742e96af4781f4b"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -1751,6 +1751,15 @@ list.ungrammar = {
|
||||||
maintainers = { "@Philipp-M", "@amaanq" },
|
maintainers = { "@Philipp-M", "@amaanq" },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
list.unison = {
|
||||||
|
install_info = {
|
||||||
|
url = "https://github.com/kylegoetz/tree-sitter-unison",
|
||||||
|
files = { "src/parser.c", "src/scanner.c" },
|
||||||
|
requires_generate_from_grammar = true,
|
||||||
|
},
|
||||||
|
maintainers = { "@tapegram" },
|
||||||
|
}
|
||||||
|
|
||||||
list.usd = {
|
list.usd = {
|
||||||
install_info = {
|
install_info = {
|
||||||
url = "https://github.com/ColinKennedy/tree-sitter-usd",
|
url = "https://github.com/ColinKennedy/tree-sitter-usd",
|
||||||
|
|
|
||||||
73
queries/unison/highlights.scm
Normal file
73
queries/unison/highlights.scm
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
;; Primitives
|
||||||
|
(comment) @comment @spell
|
||||||
|
(nat) @number
|
||||||
|
(unit) @constant.builtin
|
||||||
|
(literal_char) @character
|
||||||
|
(literal_text) @string
|
||||||
|
(literal_boolean) @boolean
|
||||||
|
|
||||||
|
;; Keywords
|
||||||
|
[
|
||||||
|
(kw_forall)
|
||||||
|
(unique_kw)
|
||||||
|
(type_kw)
|
||||||
|
(do)
|
||||||
|
(kw_let)
|
||||||
|
] @keyword
|
||||||
|
|
||||||
|
(kw_equals) @keyword.operator
|
||||||
|
(structural_kw) @type.qualifier
|
||||||
|
(unique) @type.qualifier
|
||||||
|
|
||||||
|
(type_constructor) @constructor
|
||||||
|
|
||||||
|
(doc_block) @comment.documentation
|
||||||
|
|
||||||
|
|
||||||
|
[
|
||||||
|
(operator)
|
||||||
|
(pipe)
|
||||||
|
(arrow_symbol)
|
||||||
|
">"
|
||||||
|
(or)
|
||||||
|
] @keyword.operator
|
||||||
|
|
||||||
|
[
|
||||||
|
"if"
|
||||||
|
"else"
|
||||||
|
"then"
|
||||||
|
(match)
|
||||||
|
(with)
|
||||||
|
(cases)
|
||||||
|
] @conditional
|
||||||
|
|
||||||
|
(blank_pattern) @variable.builtin
|
||||||
|
|
||||||
|
(pattern) @variable (constructor_or_variable_pattern) @type
|
||||||
|
|
||||||
|
(use_clause) @include
|
||||||
|
|
||||||
|
;; Types
|
||||||
|
(record_field name: (wordy_id) @variable type: (wordy_id) @type)
|
||||||
|
[
|
||||||
|
(type_name)
|
||||||
|
(type_signature)
|
||||||
|
(effect)
|
||||||
|
] @type
|
||||||
|
|
||||||
|
(term_definition) @variable
|
||||||
|
|
||||||
|
;; Punctuation
|
||||||
|
[
|
||||||
|
(type_signature_colon)
|
||||||
|
":"
|
||||||
|
] @punctuation.delimiter
|
||||||
|
|
||||||
|
[
|
||||||
|
"("
|
||||||
|
")"
|
||||||
|
"{"
|
||||||
|
"}"
|
||||||
|
"["
|
||||||
|
"]"
|
||||||
|
] @punctuation.bracket
|
||||||
2
queries/unison/injections.scm
Normal file
2
queries/unison/injections.scm
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
((comment) @injection.content
|
||||||
|
(#set! injection.language "comment"))
|
||||||
Loading…
Add table
Add a link
Reference in a new issue