mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-04 20:40:02 -04:00
feat(wit): Add wit parser (#6428)
feat: Add injections.scm fix: reverse order of matching Co-authored-by: 再生花 <hoangtun0810@gmail.com> fix: lua match for functions doc: Resolve conflict fix: Amend incorrect alphabetical order
This commit is contained in:
parent
1ba86026f7
commit
2a95ff1476
5 changed files with 98 additions and 0 deletions
|
|
@ -438,6 +438,7 @@ We are looking for maintainers to add more parsers and to write query files for
|
|||
- [x] [wgsl](https://github.com/szebniok/tree-sitter-wgsl) (maintained by @szebniok)
|
||||
- [x] [wgsl_bevy](https://github.com/theHamsta/tree-sitter-wgsl-bevy) (maintained by @theHamsta)
|
||||
- [x] [wing](https://github.com/winglang/tree-sitter-wing) (maintained by @gshpychka, @MarkMcCulloh)
|
||||
- [x] [wit](https://github.com/liamwh/tree-sitter-wit) (maintained by @liamwh)
|
||||
- [x] [xcompose](https://github.com/ObserverOfTime/tree-sitter-xcompose) (maintained by @ObserverOfTime)
|
||||
- [x] [xml](https://github.com/tree-sitter-grammars/tree-sitter-xml) (maintained by @ObserverOfTime)
|
||||
- [x] [yaml](https://github.com/tree-sitter-grammars/tree-sitter-yaml) (maintained by @amaanq)
|
||||
|
|
|
|||
|
|
@ -794,6 +794,9 @@
|
|||
"wing": {
|
||||
"revision": "5b6c2a5818a602557778d1bfc265d016cafa0712"
|
||||
},
|
||||
"wit": {
|
||||
"revision": "39e81d6b4b0d811a62bcde46c876bf32e1475b5b"
|
||||
},
|
||||
"xcompose": {
|
||||
"revision": "2383cc69a2c42cfade41c7cb971fb3862bec6df1"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -2303,6 +2303,14 @@ list.wing = {
|
|||
maintainers = { "@gshpychka", "@MarkMcCulloh" },
|
||||
}
|
||||
|
||||
list.wit = {
|
||||
install_info = {
|
||||
url = "https://github.com/liamwh/tree-sitter-wit",
|
||||
files = { "src/parser.c" },
|
||||
},
|
||||
maintainers = { "@liamwh" },
|
||||
}
|
||||
|
||||
list.xcompose = {
|
||||
install_info = {
|
||||
url = "https://github.com/ObserverOfTime/tree-sitter-xcompose",
|
||||
|
|
|
|||
81
queries/wit/highlights.scm
Normal file
81
queries/wit/highlights.scm
Normal file
|
|
@ -0,0 +1,81 @@
|
|||
; Comments
|
||||
(line_comment) @comment
|
||||
|
||||
(block_comment) @comment
|
||||
|
||||
; Primitive Types
|
||||
[
|
||||
"bool"
|
||||
"s8"
|
||||
"s16"
|
||||
"s32"
|
||||
"s64"
|
||||
"u8"
|
||||
"u16"
|
||||
"u32"
|
||||
"u64"
|
||||
"float32"
|
||||
"float64"
|
||||
"char"
|
||||
"string"
|
||||
; Container Types
|
||||
"list"
|
||||
"tuple"
|
||||
"option"
|
||||
"result"
|
||||
] @type.builtin
|
||||
|
||||
"func" @keyword.function
|
||||
|
||||
; Keywords for file structure and components
|
||||
[
|
||||
"record"
|
||||
"enum"
|
||||
"variant"
|
||||
"flags"
|
||||
"resource"
|
||||
] @keyword.type
|
||||
|
||||
; Keywords for importing and exporting
|
||||
[
|
||||
"package"
|
||||
"world"
|
||||
"use"
|
||||
"import"
|
||||
] @keyword.import
|
||||
|
||||
; Resource Keywords
|
||||
"static" @keyword.modifier
|
||||
|
||||
; Named Types (Capitalized identifiers)
|
||||
((identifier) @type
|
||||
(#match? @type "^[A-Z]"))
|
||||
|
||||
((identifier) @variable
|
||||
(#match? @variable "^[a-z_][a-zA-Z0-9_]*$"))
|
||||
|
||||
; Constants (UPPER_CASE names and Enums)
|
||||
((identifier) @constant
|
||||
(#match? @constant "^[A-Z][A-Z0-9_]+$"))
|
||||
|
||||
; Functions and Methods (lowercase names followed by parentheses)
|
||||
((identifier) @function
|
||||
(#match? @function "^[a-z_][a-zA-Z0-9_]*%("))
|
||||
|
||||
; Punctuation
|
||||
[
|
||||
";"
|
||||
":"
|
||||
"->"
|
||||
] @punctuation.special
|
||||
|
||||
; Delimiters
|
||||
"," @punctuation.delimiter
|
||||
|
||||
; Brackets
|
||||
[
|
||||
"{"
|
||||
"}"
|
||||
"("
|
||||
")"
|
||||
] @punctuation.bracket
|
||||
5
queries/wit/injections.scm
Normal file
5
queries/wit/injections.scm
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
((line_comment) @comment
|
||||
(#set! injection.language "comment"))
|
||||
|
||||
((block_comment) @comment
|
||||
(#set! injection.language "comment"))
|
||||
Loading…
Add table
Add a link
Reference in a new issue