diff options
| author | Liam Woodleigh-Hardinge <liam.woodleigh@gmail.com> | 2024-04-15 13:01:56 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-15 11:01:56 +0000 |
| commit | 2a95ff14764af20d32ec1edb27e11c38a84b9478 (patch) | |
| tree | 86866919963a36c9e23bd529409f2eb62290cb82 /queries | |
| parent | bot(lockfile): update cpp, cuda, glsl, hlsl, http, julia, norg, slang, unison, v (diff) | |
| download | nvim-treesitter-2a95ff14764af20d32ec1edb27e11c38a84b9478.tar nvim-treesitter-2a95ff14764af20d32ec1edb27e11c38a84b9478.tar.gz nvim-treesitter-2a95ff14764af20d32ec1edb27e11c38a84b9478.tar.bz2 nvim-treesitter-2a95ff14764af20d32ec1edb27e11c38a84b9478.tar.lz nvim-treesitter-2a95ff14764af20d32ec1edb27e11c38a84b9478.tar.xz nvim-treesitter-2a95ff14764af20d32ec1edb27e11c38a84b9478.tar.zst nvim-treesitter-2a95ff14764af20d32ec1edb27e11c38a84b9478.zip | |
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
Diffstat (limited to 'queries')
| -rw-r--r-- | queries/wit/highlights.scm | 81 | ||||
| -rw-r--r-- | queries/wit/injections.scm | 5 |
2 files changed, 86 insertions, 0 deletions
diff --git a/queries/wit/highlights.scm b/queries/wit/highlights.scm new file mode 100644 index 000000000..237858ba2 --- /dev/null +++ b/queries/wit/highlights.scm @@ -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 diff --git a/queries/wit/injections.scm b/queries/wit/injections.scm new file mode 100644 index 000000000..50b9b8fa9 --- /dev/null +++ b/queries/wit/injections.scm @@ -0,0 +1,5 @@ +((line_comment) @comment + (#set! injection.language "comment")) + +((block_comment) @comment + (#set! injection.language "comment")) |
