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:
Liam Woodleigh-Hardinge 2024-04-15 13:01:56 +02:00 committed by GitHub
parent 1ba86026f7
commit 2a95ff1476
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 98 additions and 0 deletions

View 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

View file

@ -0,0 +1,5 @@
((line_comment) @comment
(#set! injection.language "comment"))
((block_comment) @comment
(#set! injection.language "comment"))