mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-14 17:30:08 -04:00
feat(typespec): add support for typespec
This commit is contained in:
parent
f224fef9d2
commit
c26cfc75bc
6 changed files with 170 additions and 0 deletions
|
|
@ -424,6 +424,7 @@ We are looking for maintainers to add more parsers and to write query files for
|
||||||
- [x] [turtle](https://github.com/BonaBeavis/tree-sitter-turtle) (maintained by @BonaBeavis)
|
- [x] [turtle](https://github.com/BonaBeavis/tree-sitter-turtle) (maintained by @BonaBeavis)
|
||||||
- [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] [typespec](https://github.com/happenslol/tree-sitter-typespec) (maintained by @happenslol)
|
||||||
- [x] [typoscript](https://github.com/Teddytrombone/tree-sitter-typoscript) (maintained by @Teddytrombone)
|
- [x] [typoscript](https://github.com/Teddytrombone/tree-sitter-typoscript) (maintained by @Teddytrombone)
|
||||||
- [x] [typst](https://github.com/uben0/tree-sitter-typst) (maintained by @uben0, @RaafatTurki)
|
- [x] [typst](https://github.com/uben0/tree-sitter-typst) (maintained by @uben0, @RaafatTurki)
|
||||||
- [x] [udev](https://github.com/ObserverOfTime/tree-sitter-udev) (maintained by @ObserverOfTime)
|
- [x] [udev](https://github.com/ObserverOfTime/tree-sitter-udev) (maintained by @ObserverOfTime)
|
||||||
|
|
|
||||||
|
|
@ -752,6 +752,9 @@
|
||||||
"typescript": {
|
"typescript": {
|
||||||
"revision": "7b4275d077ae196fc0ce42ab3ad091574e3ec519"
|
"revision": "7b4275d077ae196fc0ce42ab3ad091574e3ec519"
|
||||||
},
|
},
|
||||||
|
"typespec": {
|
||||||
|
"revision": "fd9a83c6c0aaaff4b1354454b5b9f130f59dd553"
|
||||||
|
},
|
||||||
"typoscript": {
|
"typoscript": {
|
||||||
"revision": "43b221c0b76e77244efdaa9963e402a17c930fbc"
|
"revision": "43b221c0b76e77244efdaa9963e402a17c930fbc"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -2181,6 +2181,14 @@ list.typescript = {
|
||||||
maintainers = { "@steelsojka" },
|
maintainers = { "@steelsojka" },
|
||||||
}
|
}
|
||||||
|
|
||||||
|
list.typespec = {
|
||||||
|
install_info = {
|
||||||
|
url = "https://github.com/happenslol/tree-sitter-typespec",
|
||||||
|
files = { "src/parser.c" },
|
||||||
|
},
|
||||||
|
maintainers = { "@happenslol" },
|
||||||
|
}
|
||||||
|
|
||||||
list.typoscript = {
|
list.typoscript = {
|
||||||
install_info = {
|
install_info = {
|
||||||
url = "https://github.com/Teddytrombone/tree-sitter-typoscript",
|
url = "https://github.com/Teddytrombone/tree-sitter-typoscript",
|
||||||
|
|
|
||||||
135
queries/typespec/highlights.scm
Normal file
135
queries/typespec/highlights.scm
Normal file
|
|
@ -0,0 +1,135 @@
|
||||||
|
(identifier_or_member_expression) @type
|
||||||
|
|
||||||
|
[
|
||||||
|
"is"
|
||||||
|
"extends"
|
||||||
|
"valueof"
|
||||||
|
] @keyword.operator
|
||||||
|
|
||||||
|
[
|
||||||
|
"namespace"
|
||||||
|
"model"
|
||||||
|
"scalar"
|
||||||
|
"interface"
|
||||||
|
"enum"
|
||||||
|
"union"
|
||||||
|
"alias"
|
||||||
|
] @keyword.type
|
||||||
|
|
||||||
|
[
|
||||||
|
"op"
|
||||||
|
"fn"
|
||||||
|
"dec"
|
||||||
|
] @keyword.function
|
||||||
|
|
||||||
|
"extern" @keyword.modifier
|
||||||
|
|
||||||
|
[
|
||||||
|
"import"
|
||||||
|
"using"
|
||||||
|
] @keyword.import
|
||||||
|
|
||||||
|
[
|
||||||
|
"("
|
||||||
|
")"
|
||||||
|
"{"
|
||||||
|
"}"
|
||||||
|
"<"
|
||||||
|
">"
|
||||||
|
"["
|
||||||
|
"]"
|
||||||
|
] @punctuation.bracket
|
||||||
|
|
||||||
|
[
|
||||||
|
","
|
||||||
|
";"
|
||||||
|
"."
|
||||||
|
":"
|
||||||
|
] @punctuation.delimiter
|
||||||
|
|
||||||
|
[
|
||||||
|
"|"
|
||||||
|
"&"
|
||||||
|
"="
|
||||||
|
"..."
|
||||||
|
] @operator
|
||||||
|
|
||||||
|
"?" @punctuation.special
|
||||||
|
|
||||||
|
[
|
||||||
|
(single_line_comment)
|
||||||
|
(multi_line_comment)
|
||||||
|
] @comment @spell
|
||||||
|
|
||||||
|
[
|
||||||
|
(quoted_string_literal)
|
||||||
|
(triple_quoted_string_literal)
|
||||||
|
] @string
|
||||||
|
|
||||||
|
(boolean_literal) @boolean
|
||||||
|
|
||||||
|
[
|
||||||
|
(decimal_literal)
|
||||||
|
(hex_integer_literal)
|
||||||
|
(binary_integer_literal)
|
||||||
|
] @number
|
||||||
|
|
||||||
|
(escape_sequence) @string.escape
|
||||||
|
|
||||||
|
(builtin_type) @type.builtin
|
||||||
|
|
||||||
|
(decorator
|
||||||
|
"@" @attribute
|
||||||
|
name: (identifier_or_member_expression) @attribute)
|
||||||
|
|
||||||
|
(augment_decorator_statement
|
||||||
|
name: (identifier_or_member_expression) @attribute)
|
||||||
|
|
||||||
|
(using_statement
|
||||||
|
module: (identifier_or_member_expression) @module)
|
||||||
|
|
||||||
|
(namespace_statement
|
||||||
|
name: (identifier_or_member_expression) @module)
|
||||||
|
|
||||||
|
(model_statement
|
||||||
|
name: (identifier) @type)
|
||||||
|
|
||||||
|
(model_property
|
||||||
|
name: (identifier) @variable.member)
|
||||||
|
|
||||||
|
(union_statement
|
||||||
|
name: (identifier) @type)
|
||||||
|
|
||||||
|
(union_variant
|
||||||
|
name: (identifier) @variable.member)
|
||||||
|
|
||||||
|
(scalar_statement
|
||||||
|
name: (identifier) @type)
|
||||||
|
|
||||||
|
(interface_statement
|
||||||
|
name: (identifier) @type)
|
||||||
|
|
||||||
|
(enum_statement
|
||||||
|
name: (identifier) @type)
|
||||||
|
|
||||||
|
(enum_member
|
||||||
|
name: (identifier) @constant)
|
||||||
|
|
||||||
|
(operation_statement
|
||||||
|
name: (identifier) @function)
|
||||||
|
|
||||||
|
(template_parameter
|
||||||
|
name: (identifier) @type)
|
||||||
|
|
||||||
|
(alias_statement
|
||||||
|
name: (identifier) @type)
|
||||||
|
|
||||||
|
(decorator_declaration_statement
|
||||||
|
name: (identifier) @attribute)
|
||||||
|
|
||||||
|
(function_parameter
|
||||||
|
name: (identifier) @variable.parameter)
|
||||||
|
|
||||||
|
(operation_arguments
|
||||||
|
(model_property
|
||||||
|
name: (identifier) @variable.parameter))
|
||||||
18
queries/typespec/indents.scm
Normal file
18
queries/typespec/indents.scm
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
[
|
||||||
|
(model_expression)
|
||||||
|
(tuple_expression)
|
||||||
|
(namespace_body)
|
||||||
|
(interface_body)
|
||||||
|
(union_body)
|
||||||
|
(enum_body)
|
||||||
|
(template_arguments)
|
||||||
|
(template_parameters)
|
||||||
|
(operation_arguments)
|
||||||
|
] @indent.begin
|
||||||
|
|
||||||
|
[
|
||||||
|
"}"
|
||||||
|
")"
|
||||||
|
">"
|
||||||
|
"]"
|
||||||
|
] @indent.end
|
||||||
5
queries/typespec/injections.scm
Normal file
5
queries/typespec/injections.scm
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
([
|
||||||
|
(single_line_comment)
|
||||||
|
(multi_line_comment)
|
||||||
|
] @injection.content
|
||||||
|
(#set! injection.language "comment"))
|
||||||
Loading…
Add table
Add a link
Reference in a new issue