Refresh vendored tree-sitter grammars to pinned upstream revisions

Update 128 vendored grammars to the commits pinned by nvim-treesitter and
Helix (cross-verified canonical sources), normalize their tree_sitter
includes (angle-bracket -> quoted) and external-scanner deserialize
signatures, and restore missing upstream LICENSE files.

Add internal/cbm/vendored/grammars/MANIFEST.md as a provenance record:
upstream repo, pinned commit, current/latest ABI, and license status for
all 157 grammars. 12 first-party (self-maintained) grammars are marked and
excluded from upstream refresh; vhdl and fennel are kept at their prior
revisions (scanner ABI / added-scanner incompatibilities).

Adapt the shared extraction layer to node-shape changes in the refreshed
grammars: resolve declaration names from simple_identifier/type_identifier
children when the grammar drops the `name` field (kotlin, swift), and
recognize multiline_comment as a doc comment.
This commit is contained in:
Martin Vogel
2026-06-03 01:32:57 +02:00
parent d849aeaee7
commit 0956f378b1
693 changed files with 7366601 additions and 5845756 deletions
+11 -5
View File
@@ -612,7 +612,10 @@ static TSNode resolve_func_name(TSNode node, CBMLanguage lang) {
return name;
}
if (lang == CBM_LANG_SWIFT && strcmp(kind, "function_declaration") == 0) {
/* Swift and newer tree-sitter-kotlin: function_declaration has no `name`
* field; the function name is a `simple_identifier` child. */
if ((lang == CBM_LANG_SWIFT || lang == CBM_LANG_KOTLIN) &&
strcmp(kind, "function_declaration") == 0) {
TSNode si = cbm_find_child_by_kind(node, "simple_identifier");
if (!ts_node_is_null(si)) {
return si;
@@ -672,7 +675,7 @@ static bool is_js_exported(TSNode node) {
// Check if a node is a comment node type.
static bool is_comment_node(const char *kind) {
return (strcmp(kind, "comment") == 0 || strcmp(kind, "block_comment") == 0 ||
strcmp(kind, "line_comment") == 0);
strcmp(kind, "line_comment") == 0 || strcmp(kind, "multiline_comment") == 0);
}
// Extract comment text, truncating to MAX_COMMENT_LEN.
@@ -1979,8 +1982,10 @@ static void extract_class_def(CBMExtractCtx *ctx, TSNode node, const CBMLangSpec
if (ts_node_is_null(name_node) && ctx->language == CBM_LANG_OBJC) {
name_node = cbm_find_child_by_kind(node, "identifier");
}
// Swift: class name is type_identifier child (no "name" field)
if (ts_node_is_null(name_node) && ctx->language == CBM_LANG_SWIFT) {
// Swift and newer tree-sitter-kotlin: class/object name is a type_identifier
// child (no "name" field).
if (ts_node_is_null(name_node) &&
(ctx->language == CBM_LANG_SWIFT || ctx->language == CBM_LANG_KOTLIN)) {
name_node = cbm_find_child_by_kind(node, "type_identifier");
}
// Protobuf: service_name / message_name / enum_name children
@@ -2223,7 +2228,8 @@ static TSNode resolve_method_name(TSNode child, CBMLanguage lang) {
return cbm_find_child_by_kind(child, "identifier");
}
if (lang == CBM_LANG_SWIFT && strcmp(ck, "function_declaration") == 0) {
if ((lang == CBM_LANG_SWIFT || lang == CBM_LANG_KOTLIN) &&
strcmp(ck, "function_declaration") == 0) {
return cbm_find_child_by_kind(child, "simple_identifier");
}
+9
View File
@@ -96,6 +96,11 @@ static TSNode resolve_func_name_node(TSNode node) {
name_node = ts_node_child_by_field_name(parent, TS_FIELD("name"));
}
}
/* Grammars without a `name` field (e.g. newer tree-sitter-kotlin): the
* function name is a simple_identifier child of function_declaration. */
if (ts_node_is_null(name_node) && strcmp(ts_node_type(node), "function_declaration") == 0) {
name_node = cbm_find_child_by_kind(node, "simple_identifier");
}
return name_node;
}
@@ -126,6 +131,10 @@ static const char *compute_func_qn(CBMExtractCtx *ctx, TSNode node, const CBMLan
// Compute class QN for scope tracking.
static const char *compute_class_qn(CBMExtractCtx *ctx, TSNode node) {
TSNode name_node = ts_node_child_by_field_name(node, TS_FIELD("name"));
/* Newer tree-sitter-kotlin: class/object name is a type_identifier child. */
if (ts_node_is_null(name_node) && ctx->language == CBM_LANG_KOTLIN) {
name_node = cbm_find_child_by_kind(node, "type_identifier");
}
if (ts_node_is_null(name_node)) {
return NULL;
}
+193
View File
@@ -0,0 +1,193 @@
# Vendored tree-sitter Grammar Manifest
**Provenance + version record for the tree-sitter grammars under this directory.**
The grammars were originally vendored as bare `parser.c`+`scanner.c` with **no recorded upstream version or commit**. This manifest reconstructs that provenance and pins each vendored grammar to a specific upstream commit, cross-verified against two independent registries (nvim-treesitter `parsers.lua` + Helix `languages.toml`).
## How generated
`private/grammar_audit/{discover,resolve_stragglers}.sh` (upstream + tag) → `verify_sources.py` (cross-verify vs nvim-treesitter + Helix, capture pinned commit) → `gen_manifest.py`. Captured 2026-06-02.
## Summary
- Grammars: **157** — vendored-from-upstream: **140**, first-party/self-maintained: **12**, registry-disagreement: **5**
- ABI distribution: **7×** ABI-13 **86×** ABI-14 **64×** ABI-15 (runtime ceiling is ABI 15; never vendor ABI 16 without a runtime upgrade)
- Vendored copies missing LICENSE: **68** (restore on next re-vendor — redistribution compliance)
- `verdict`: VERIFIED-BOTH = our source matches *both* registries; VERIFIED-NVIM/HELIX = matches one; registry-disagreement = registries name a different repo (listed separately).
> ⚠️ **Pinned commit = the revision nvim-treesitter/Helix vendor** (battle-tested, canonical source), not bleeding-edge HEAD. When re-vendoring, update the pinned commit here.
## Vendored from verified upstream
| grammar | cur ABI | upstream repo | pinned commit | verdict | LICENSE |
|---|:---:|---|---|---|:---:|
| ada | 14 | briot/tree-sitter-ada | `6b58259a08b1` | VERIFIED-BOTH | ❌ |
| agda | 14 | tree-sitter/tree-sitter-agda | `e8d47a6987ef` | VERIFIED-BOTH | ✅ |
| apex | 14 | aheber/tree-sitter-sfapex | `3597575a4297` | VERIFIED-NVIM | ✅ |
| astro | 14 | virchau13/tree-sitter-astro | `213f6e6973d9` | VERIFIED-BOTH | ✅ |
| awk | 14 | Beaglefoot/tree-sitter-awk | `34bbdc7cce8e` | VERIFIED-BOTH | ✅ |
| bash | 15 | tree-sitter/tree-sitter-bash | `a06c2e4415e9` | VERIFIED-BOTH | ❌ |
| beancount | 15 | polarmutex/tree-sitter-beancount | `429cff869513` | VERIFIED-BOTH | ✅ |
| bibtex | 15 | latex-lsp/tree-sitter-bibtex | `8d04ed27b3bc` | VERIFIED-BOTH | ✅ |
| bicep | 14 | tree-sitter-grammars/tree-sitter-bicep | `bff59884307c` | VERIFIED-BOTH | ✅ |
| bitbake | 14 | tree-sitter-grammars/tree-sitter-bitbake | `a5d04fdb5a69` | VERIFIED-BOTH | ✅ |
| blade | 15 | EmranMR/tree-sitter-blade | `b9436b7b9369` | VERIFIED-BOTH | ✅ |
| c | 15 | tree-sitter/tree-sitter-c | `ae19b676b13b` | VERIFIED-BOTH | ❌ |
| c_sharp | 15 | tree-sitter/tree-sitter-c-sharp | `88366631d598` | VERIFIED-BOTH | ✅ |
| cairo | 14 | tree-sitter-grammars/tree-sitter-cairo | `6238f609bea2` | VERIFIED-NVIM | ✅ |
| capnp | 14 | tree-sitter-grammars/tree-sitter-capnp | `7b0883c03e5e` | VERIFIED-BOTH | ✅ |
| clojure | 14 | sogaiu/tree-sitter-clojure | `e43eff80d17c` | VERIFIED-BOTH | ❌ |
| cmake | 14 | uyha/tree-sitter-cmake | `c7b2a71e7f8e` | VERIFIED-BOTH | ❌ |
| commonlisp | 14 | tree-sitter-grammars/tree-sitter-commonlisp | `32323509b3d9` | VERIFIED-BOTH | ❌ |
| cpp | 14 | tree-sitter/tree-sitter-cpp | `8b5b49eb196b` | VERIFIED-BOTH | ❌ |
| crystal | 14 | crystal-lang-tools/tree-sitter-crystal | `50ca9e6fcfb1` | VERIFIED-HELIX | ✅ |
| css | 15 | tree-sitter/tree-sitter-css | `dda5cfc5722c` | VERIFIED-BOTH | ❌ |
| csv | 15 | tree-sitter-grammars/tree-sitter-csv | `f6bf6e35eb0b` | VERIFIED-NVIM | ✅ |
| cuda | 15 | tree-sitter-grammars/tree-sitter-cuda | `48b066f334f4` | VERIFIED-NVIM | ❌ |
| d | 14 | gdamore/tree-sitter-d | `fb028c8f14f4` | VERIFIED-BOTH | ❌ |
| dart | 15 | UserNobody14/tree-sitter-dart | `0fc19c3a57b1` | VERIFIED-BOTH | ❌ |
| devicetree | 15 | joelspadin/tree-sitter-devicetree | `e685f1f6ac17` | VERIFIED-BOTH | ✅ |
| diff | 15 | tree-sitter-grammars/tree-sitter-diff | `2520c3f934b3` | VERIFIED-NVIM | ✅ |
| dockerfile | 14 | camdencheek/tree-sitter-dockerfile | `971acdd90856` | VERIFIED-BOTH | ❌ |
| elisp | 15 | Wilfred/tree-sitter-elisp | `32323509b3d9` | VERIFIED-HELIX | ❌ |
| elixir | 14 | elixir-lang/tree-sitter-elixir | `7937d3b4d65f` | VERIFIED-BOTH | ❌ |
| elm | 15 | elm-tooling/tree-sitter-elm | `6d9511c28181` | VERIFIED-BOTH | ❌ |
| erlang | 14 | WhatsApp/tree-sitter-erlang | `1d78195c4fbb` | VERIFIED-NVIM | ❌ |
| fennel | 14 | alexmozaidze/tree-sitter-fennel | `3f0f6b24d599` | MISMATCH | ✅ |
| fish | 14 | ram02z/tree-sitter-fish | `fa2143f5d66a` | VERIFIED-BOTH | ✅ |
| fortran | 15 | stadelmanma/tree-sitter-fortran | `be30d90dc7df` | VERIFIED-BOTH | ❌ |
| fsharp | 15 | ionide/tree-sitter-fsharp | `1c2d9351d1f7` | VERIFIED-BOTH | ❌ |
| func | 14 | tree-sitter-grammars/tree-sitter-func | `f780ca55e65e` | VERIFIED-NVIM | ✅ |
| gdscript | 14 | PrestonKnopp/tree-sitter-gdscript | `9686853b696d` | VERIFIED-BOTH | ✅ |
| gitattributes | 14 | tree-sitter-grammars/tree-sitter-gitattributes | `1b7af09d45b5` | VERIFIED-NVIM | ✅ |
| gitignore | 13 | shunsambongi/tree-sitter-gitignore | `f4685bf11ac4` | VERIFIED-BOTH | ✅ |
| gleam | 15 | gleam-lang/tree-sitter-gleam | `0bb1b0ae1a35` | VERIFIED-BOTH | ✅ |
| glsl | 14 | tree-sitter-grammars/tree-sitter-glsl | `24a6c8ef698e` | VERIFIED-NVIM | ❌ |
| gn | 14 | tree-sitter-grammars/tree-sitter-gn | `bc06955bc1e3` | VERIFIED-NVIM | ✅ |
| go | 15 | tree-sitter/tree-sitter-go | `2346a3ab1bb3` | VERIFIED-BOTH | ❌ |
| gomod | 15 | camdencheek/tree-sitter-go-mod | `2e886870578e` | VERIFIED-BOTH | ✅ |
| gotemplate | 15 | ngalaiko/tree-sitter-go-template | `aa71f63de226` | VERIFIED-BOTH | ✅ |
| graphql | 13 | bkegley/tree-sitter-graphql | `5e66e961eee4` | VERIFIED-BOTH | ❌ |
| groovy | 15 | murtaza64/tree-sitter-groovy | `781d9cd1b482` | VERIFIED-BOTH | ❌ |
| hare | 15 | tree-sitter-grammars/tree-sitter-hare | `eed7ddf6a66b` | VERIFIED-NVIM | ✅ |
| haskell | 15 | tree-sitter/tree-sitter-haskell | `7fa19f195803` | VERIFIED-HELIX | ❌ |
| hcl | 15 | tree-sitter-grammars/tree-sitter-hcl | `64ad62785d44` | MISMATCH | ❌ |
| hlsl | 14 | tree-sitter-grammars/tree-sitter-hlsl | `bab9111922d5` | VERIFIED-NVIM | ✅ |
| html | 14 | tree-sitter/tree-sitter-html | `73a3947324f6` | VERIFIED-BOTH | ❌ |
| hyprlang | 15 | tree-sitter-grammars/tree-sitter-hyprlang | `cecd6b748107` | VERIFIED-BOTH | ✅ |
| ini | 15 | justinmk/tree-sitter-ini | `e4018b517613` | VERIFIED-BOTH | ❌ |
| ispc | 14 | tree-sitter-grammars/tree-sitter-ispc | `9b2f9aec2106` | VERIFIED-NVIM | ✅ |
| java | 14 | tree-sitter/tree-sitter-java | `e10607b45ff7` | VERIFIED-BOTH | ❌ |
| javascript | 15 | tree-sitter/tree-sitter-javascript | `58404d8cf191` | VERIFIED-BOTH | ❌ |
| jsdoc | 15 | tree-sitter/tree-sitter-jsdoc | `658d18dcdddb` | VERIFIED-BOTH | ✅ |
| json | 14 | tree-sitter/tree-sitter-json | `001c28d7a298` | VERIFIED-BOTH | ❌ |
| json5 | 15 | Joakker/tree-sitter-json5 | `aa630ef48903` | VERIFIED-BOTH | ✅ |
| jsonnet | 14 | sourcegraph/tree-sitter-jsonnet | `ddd075f1939a` | VERIFIED-BOTH | ✅ |
| julia | 15 | tree-sitter/tree-sitter-julia | `8454f2667172` | VERIFIED-HELIX | ❌ |
| kconfig | 14 | tree-sitter-grammars/tree-sitter-kconfig | `9ac99fe4c0c2` | VERIFIED-BOTH | ✅ |
| kdl | 14 | tree-sitter-grammars/tree-sitter-kdl | `b37e3d58e5c5` | VERIFIED-NVIM | ✅ |
| kotlin | 14 | fwcd/tree-sitter-kotlin | `93bfeee1555d` | VERIFIED-BOTH | ✅ |
| lean | 13 | Julian/tree-sitter-lean | `d98426109258` | VERIFIED-HELIX | ❌ |
| linkerscript | 14 | tree-sitter-grammars/tree-sitter-linkerscript | `f99011a35542` | VERIFIED-NVIM | ✅ |
| liquid | 14 | hankthetank27/tree-sitter-liquid | `9566ca799110` | VERIFIED-NVIM | ✅ |
| llvm | 15 | benwilliamgraham/tree-sitter-llvm | `2914786ae677` | VERIFIED-BOTH | ✅ |
| lua | 15 | tree-sitter-grammars/tree-sitter-lua | `10fe0054734e` | VERIFIED-BOTH | ❌ |
| luau | 14 | tree-sitter-grammars/tree-sitter-luau | `a8914d6c1fc5` | VERIFIED-NVIM | ✅ |
| make | 15 | tree-sitter-grammars/tree-sitter-make | `70613f3d812c` | VERIFIED-NVIM | ❌ |
| markdown | 15 | tree-sitter-grammars/tree-sitter-markdown | `f969cd3ae3f9` | VERIFIED-BOTH | ❌ |
| matlab | 15 | acristoffers/tree-sitter-matlab | `c2390a59016f` | VERIFIED-BOTH | ❌ |
| mermaid | 14 | monaqa/tree-sitter-mermaid | `90ae195b3193` | VERIFIED-BOTH | ✅ |
| meson | 15 | tree-sitter-grammars/tree-sitter-meson | `c84f3540624b` | VERIFIED-BOTH | ❌ |
| nasm | 14 | naclsn/tree-sitter-nasm | `d1b3638d017f` | VERIFIED-BOTH | ✅ |
| nickel | 15 | nickel-lang/tree-sitter-nickel | `b5b6cc3bc7b9` | VERIFIED-BOTH | ✅ |
| nim | 14 | alaviss/tree-sitter-nim | `3878440d9398` | VERIFIED-BOTH | ❌ |
| nix | 13 | nix-community/tree-sitter-nix | `eabf96807ea4` | VERIFIED-BOTH | ❌ |
| objc | 14 | tree-sitter-grammars/tree-sitter-objc | `181a81b8f23a` | VERIFIED-NVIM | ❌ |
| ocaml | 14 | tree-sitter/tree-sitter-ocaml | `5a979b3ec7f1` | VERIFIED-BOTH | ❌ |
| odin | 14 | tree-sitter-grammars/tree-sitter-odin | `d2ca8efb4487` | VERIFIED-BOTH | ✅ |
| pascal | 14 | Isopod/tree-sitter-pascal | `042119eca2e1` | VERIFIED-BOTH | ✅ |
| perl | 14 | tree-sitter-perl/tree-sitter-perl | `ea9667dc65a8` | VERIFIED-BOTH | ❌ |
| php | 15 | tree-sitter/tree-sitter-php | `3f2465c217d0` | VERIFIED-BOTH | ❌ |
| pkl | 15 | apple/tree-sitter-pkl | `f5beed1da8e5` | VERIFIED-BOTH | ❌ |
| po | 14 | tree-sitter-grammars/tree-sitter-po | `bd860a0f57f6` | VERIFIED-NVIM | ✅ |
| pony | 14 | tree-sitter-grammars/tree-sitter-pony | `73ff874ae4c9` | VERIFIED-NVIM | ✅ |
| powershell | 15 | airbus-cert/tree-sitter-powershell | `73800ecc8bdd` | VERIFIED-BOTH | ✅ |
| prisma | 15 | victorhqc/tree-sitter-prisma | `3556b2c1f20e` | VERIFIED-BOTH | ✅ |
| properties | 14 | tree-sitter-grammars/tree-sitter-properties | `6310671b24d4` | VERIFIED-BOTH | ✅ |
| puppet | 14 | tree-sitter-grammars/tree-sitter-puppet | `15f192929b7d` | VERIFIED-NVIM | ✅ |
| purescript | 15 | postsolar/tree-sitter-purescript | `f541f95ffd68` | VERIFIED-BOTH | ✅ |
| python | 15 | tree-sitter/tree-sitter-python | `v0.25.0` | VERIFIED-BOTH | ❌ |
| r | 14 | r-lib/tree-sitter-r | `0e6ef7741712` | VERIFIED-BOTH | ❌ |
| racket | 14 | 6cdh/tree-sitter-racket | `54649be8b939` | VERIFIED-NVIM | ✅ |
| regex | 15 | tree-sitter/tree-sitter-regex | `b2ac15e27fce` | VERIFIED-BOTH | ✅ |
| requirements | 14 | tree-sitter-grammars/tree-sitter-requirements | `caeb2ba854de` | VERIFIED-BOTH | ✅ |
| rescript | 15 | rescript-lang/tree-sitter-rescript | `43c2f1f35024` | VERIFIED-BOTH | ✅ |
| ron | 14 | tree-sitter-grammars/tree-sitter-ron | `78938553b930` | VERIFIED-BOTH | ❌ |
| rst | 14 | stsewd/tree-sitter-rst | `4e562e1598b9` | VERIFIED-BOTH | ✅ |
| ruby | 14 | tree-sitter/tree-sitter-ruby | `ad907a69da0c` | VERIFIED-BOTH | ❌ |
| rust | 15 | tree-sitter/tree-sitter-rust | `77a3747266f4` | VERIFIED-BOTH | ✅ |
| scala | 15 | tree-sitter/tree-sitter-scala | `14c5cfd2b8e0` | VERIFIED-BOTH | ✅ |
| scheme | 14 | 6cdh/tree-sitter-scheme | `c6cb7c7d7a04` | VERIFIED-BOTH | ✅ |
| scss | 14 | serenadeai/tree-sitter-scss | `c478c6868648` | MISMATCH | ❌ |
| slang | 15 | tree-sitter-grammars/tree-sitter-slang | `1dbcc4abc7b3` | VERIFIED-BOTH | ✅ |
| smali | 14 | tree-sitter-grammars/tree-sitter-smali | `fdfa6a1febc4` | VERIFIED-BOTH | ✅ |
| smithy | 14 | indoorvivants/tree-sitter-smithy | `ec4fe14586f2` | VERIFIED-BOTH | ✅ |
| solidity | 15 | JoranHonig/tree-sitter-solidity | `048fe686cb1f` | VERIFIED-BOTH | ✅ |
| soql | 14 | aheber/tree-sitter-sfapex | `3597575a4297` | VERIFIED-NVIM | ✅ |
| sosl | 14 | aheber/tree-sitter-sfapex | `3597575a4297` | VERIFIED-NVIM | ✅ |
| sql | 15 | DerekStride/tree-sitter-sql | `851e9cb257ba` | VERIFIED-BOTH | ❌ |
| squirrel | 14 | tree-sitter-grammars/tree-sitter-squirrel | `072c969749e6` | VERIFIED-NVIM | ✅ |
| starlark | 14 | tree-sitter-grammars/tree-sitter-starlark | `a453dbf3ba43` | VERIFIED-NVIM | ✅ |
| svelte | 14 | tree-sitter-grammars/tree-sitter-svelte | `ae5199db4775` | VERIFIED-NVIM | ❌ |
| sway | 14 | FuelLabs/tree-sitter-sway | `9b7845ce06ec` | VERIFIED-BOTH | ✅ |
| swift | 14 | alex-pinkus/tree-sitter-swift | `8abb3e8b3325` | VERIFIED-BOTH | ❌ |
| systemverilog | 15 | gmlarumbe/tree-sitter-systemverilog | `293928578cb2` | VERIFIED-BOTH | ✅ |
| tablegen | 14 | tree-sitter-grammars/tree-sitter-tablegen | `b1170880c613` | VERIFIED-NVIM | ✅ |
| tcl | 15 | tree-sitter-grammars/tree-sitter-tcl | `8f11ac7206a5` | VERIFIED-BOTH | ✅ |
| teal | 15 | euclidianAce/tree-sitter-teal | `05d276e73705` | VERIFIED-BOTH | ✅ |
| templ | 15 | vrischmann/tree-sitter-templ | `1c6db04effbc` | VERIFIED-BOTH | ✅ |
| thrift | 14 | tree-sitter-grammars/tree-sitter-thrift | `68fd0d80943a` | VERIFIED-BOTH | ✅ |
| tlaplus | 14 | tlaplus-community/tree-sitter-tlaplus | `add40814fda3` | VERIFIED-BOTH | ✅ |
| toml | 14 | tree-sitter-grammars/tree-sitter-toml | `64b56832c2cf` | MISMATCH | ❌ |
| tsx | 14 | tree-sitter/tree-sitter-typescript | `75b3874edb2d` | VERIFIED-BOTH | ❌ |
| typescript | 14 | tree-sitter/tree-sitter-typescript | `75b3874edb2d` | VERIFIED-BOTH | ❌ |
| typst | 14 | uben0/tree-sitter-typst | `46cf4ded12ee` | VERIFIED-BOTH | ✅ |
| verilog | 14 | tree-sitter/tree-sitter-verilog | `4457145e795b` | VERIFIED-HELIX | ❌ |
| vhdl | 15 | jpt13653903/tree-sitter-vhdl | `c2d9be3d5ab7` | MISMATCH | ✅ |
| vim | 15 | tree-sitter-grammars/tree-sitter-vim | `3092fcd99eb8` | VERIFIED-BOTH | ❌ |
| vue | 15 | tree-sitter-grammars/tree-sitter-vue | `ce8011a414fd` | VERIFIED-NVIM | ❌ |
| wgsl | 13 | szebniok/tree-sitter-wgsl | `40259f3c77ea` | VERIFIED-BOTH | ✅ |
| wit | 15 | bytecodealliance/tree-sitter-wit | `v1.3.0` | VERIFIED-NVIM | ✅ |
| xml | 14 | tree-sitter-grammars/tree-sitter-xml | `5000ae8f22d1` | VERIFIED-NVIM | ❌ |
| yaml | 14 | tree-sitter-grammars/tree-sitter-yaml | `4463985dfccc` | VERIFIED-NVIM | ❌ |
| zig | 14 | tree-sitter-grammars/tree-sitter-zig | `6479aa13f32f` | VERIFIED-BOTH | ❌ |
## First-party / self-maintained
These grammars are **authored and maintained in-house** (per the maintainer) — they are not tracked by nvim-treesitter or Helix and are **not** swept from any upstream. Treat them as owned source; do not overwrite from a public repo.
| grammar | cur ABI | LICENSE |
|---|:---:|:---:|
| assembly | 14 | ✅ |
| cfml | 15 | ✅ |
| cfscript | 15 | ✅ |
| cobol | 14 | ❌ |
| dotenv | 15 | ✅ |
| form | 15 | ❌ |
| janet | 14 | ❌ |
| magma | 15 | ❌ |
| pine | 14 | ✅ |
| protobuf | 13 | ❌ |
| qml | 14 | ✅ |
| wolfram | 13 | ❌ |
## Registry disagreement — needs a maintainer decision
Our resolved repo differs from what the registries list, and the two registries disagree with each other (or only one lists it). Pick the canonical source before vendoring.
| grammar | our resolution | nvim-treesitter | Helix |
|---|---|---|---|
| jinja2 | dbt-labs/tree-sitter-jinja2 | - | varpeti/tree-sitter-jinja2 |
| just | casey/tree-sitter-just | IndianBoy42/tree-sitter-just | poliorcetics/tree-sitter-just |
| move | tree-sitter-grammars/tree-sitter-move | - | tzakian/tree-sitter-move |
| sshconfig | ObserverOfTime/tree-sitter-ssh-config | tree-sitter-grammars/tree-sitter-ssh-config | - |
| zsh | tree-sitter-grammars/tree-sitter-zsh | georgeharker/tree-sitter-zsh | - |
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 Emmanuel Briot
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+1 -1
View File
@@ -71021,4 +71021,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_ada(void) {
}
#ifdef __cplusplus
}
#endif
#endif
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -288,4 +288,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -283,4 +283,4 @@ static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, in
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
+1 -1
View File
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
+1 -1
View File
@@ -656688,4 +656688,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_agda(void) {
}
#ifdef __cplusplus
}
#endif
#endif
+1 -1
View File
@@ -298,4 +298,4 @@ void tree_sitter_agda_external_scanner_destroy(void *payload) {
VEC_FREE(scanner->indents);
QUEUE_FREE(scanner->tokens);
free(scanner);
}
}
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -287,4 +287,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -263,4 +263,4 @@ static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
+1 -1
View File
@@ -238498,4 +238498,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_apex(void) {
}
#ifdef __cplusplus
}
#endif
#endif
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -288,4 +288,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -263,4 +263,4 @@ static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
+1 -1
View File
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
+1 -1
View File
@@ -3975,4 +3975,4 @@ extern const TSLanguage *tree_sitter_astro(void) {
}
#ifdef __cplusplus
}
#endif
#endif
+1 -1
View File
@@ -706,4 +706,4 @@ void tree_sitter_astro_external_scanner_destroy(void *payload) {
}
array_delete(&scanner->tags);
ts_free(scanner);
}
}
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -287,4 +287,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -227,4 +227,4 @@ struct TSLanguage {
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
+1 -1
View File
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
+1 -1
View File
@@ -161036,4 +161036,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_awk() {
}
#ifdef __cplusplus
}
#endif
#endif
+1 -1
View File
@@ -245,4 +245,4 @@ bool tree_sitter_awk_external_scanner_scan(void *payload, TSLexer *lexer,
}
return false;
}
}
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -284,4 +284,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -227,4 +227,4 @@ struct TSLanguage {
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2017 Max Brunsfeld
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+1 -1
View File
@@ -350628,4 +350628,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_bash(void) {
}
#ifdef __cplusplus
}
#endif
#endif
+1 -1
View File
@@ -1214,4 +1214,4 @@ void tree_sitter_bash_external_scanner_destroy(void *payload) {
}
array_delete(&scanner->heredocs);
free(scanner);
}
}
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -288,4 +288,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -283,4 +283,4 @@ static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, in
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
+2 -2
View File
@@ -17373,7 +17373,7 @@ TS_PUBLIC const TSLanguage *tree_sitter_beancount(void) {
.max_reserved_word_set_size = 0,
.metadata = {
.major_version = 2,
.minor_version = 5,
.minor_version = 4,
.patch_version = 1,
},
};
@@ -17381,4 +17381,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_beancount(void) {
}
#ifdef __cplusplus
}
#endif
#endif
+1 -1
View File
@@ -507,4 +507,4 @@ void tree_sitter_beancount_external_scanner_destroy(void *payload) {
VEC_FREE(scanner->indent_length_stack);
VEC_FREE(scanner->org_section_stack);
free(scanner);
}
}
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -288,4 +288,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -283,4 +283,4 @@ static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, in
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
+1 -1
View File
@@ -1822,4 +1822,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_bibtex(void) {
}
#ifdef __cplusplus
}
#endif
#endif
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -288,4 +288,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -284,4 +284,4 @@ static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, in
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
+1 -1
View File
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
+1 -1
View File
@@ -45946,4 +45946,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_bicep(void) {
}
#ifdef __cplusplus
}
#endif
#endif
+1 -1
View File
@@ -88,4 +88,4 @@ bool tree_sitter_bicep_external_scanner_scan(void *payload, TSLexer *lexer, cons
}
return false;
}
}
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -288,4 +288,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -263,4 +263,4 @@ static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
+1 -1
View File
@@ -125962,4 +125962,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_bitbake(void) {
}
#ifdef __cplusplus
}
#endif
#endif
+1 -1
View File
@@ -582,4 +582,4 @@ void tree_sitter_bitbake_external_scanner_destroy(void *payload) {
VEC_FREE(scanner->indents);
VEC_FREE(scanner->delimiters);
free(scanner);
}
}
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -287,4 +287,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -262,4 +262,4 @@ static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
+1 -1
View File
@@ -465366,4 +465366,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_blade(void) {
}
#ifdef __cplusplus
}
#endif
#endif
+1 -1
View File
@@ -364,4 +364,4 @@ void tree_sitter_blade_external_scanner_destroy(void *payload) {
}
array_delete(&scanner->tags);
ts_free(scanner);
}
}
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -327,4 +327,4 @@ static inline void *_array__splice(void *self_contents, uint32_t *size, uint32_t
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -283,4 +283,4 @@ static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, in
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
+21
View File
@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014 Max Brunsfeld
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+1 -1
View File
@@ -118869,4 +118869,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_c(void) {
}
#ifdef __cplusplus
}
#endif
#endif
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -288,4 +288,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -283,4 +283,4 @@ static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, in
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
+599775 -608892
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -418,4 +418,4 @@ bool tree_sitter_c_sharp_external_scanner_scan(void *payload, TSLexer *lexer, co
}
return false;
}
}
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -60,13 +60,7 @@ extern "C" {
/// Free any memory allocated for this array. Note that this does not free any
/// memory allocated for the array's contents.
#define array_delete(self) \
do { \
if ((self)->contents) ts_free((self)->contents); \
(self)->contents = NULL; \
(self)->size = 0; \
(self)->capacity = 0; \
} while (0)
#define array_delete(self) _array__delete((self), (void *)(self)->contents, sizeof(*self))
/// Push a new `element` onto the end of the array.
#define array_push(self, element) \
@@ -136,11 +130,12 @@ extern "C" {
/// Swap one array with another
#define array_swap(self, other) \
do { \
void *_array_swap_tmp = (void *)(self)->contents; \
(self)->contents = (other)->contents; \
(other)->contents = _array_swap_tmp; \
_array__swap(&(self)->size, &(self)->capacity, \
&(other)->size, &(other)->capacity); \
struct Swap swapped_contents = _array__swap( \
(void *)(self)->contents, &(self)->size, &(self)->capacity, \
(void *)(other)->contents, &(other)->size, &(other)->capacity \
); \
(self)->contents = swapped_contents.self_contents; \
(other)->contents = swapped_contents.other_contents; \
} while (0)
/// Get the size of the array contents
@@ -193,6 +188,12 @@ extern "C" {
// The `Array` type itself was not altered as a solution in order to avoid breakage
// with existing consumers (in particular, parsers with external scanners).
/// This is not what you're looking for, see `array_delete`.
static inline void _array__delete(void *self, void *contents, size_t self_size) {
if (contents) ts_free(contents);
if (self) memset(self, 0, self_size);
}
/// This is not what you're looking for, see `array_erase`.
static inline void _array__erase(void* self_contents, uint32_t *size,
size_t element_size, uint32_t index) {
@@ -227,15 +228,31 @@ static inline void *_array__assign(void* self_contents, uint32_t *self_size, uin
return new_contents;
}
struct Swap {
void *self_contents;
void *other_contents;
};
/// This is not what you're looking for, see `array_swap`.
static inline void _array__swap(uint32_t *self_size, uint32_t *self_capacity,
uint32_t *other_size, uint32_t *other_capacity) {
uint32_t tmp_size = *self_size;
uint32_t tmp_capacity = *self_capacity;
*self_size = *other_size;
*self_capacity = *other_capacity;
*other_size = tmp_size;
*other_capacity = tmp_capacity;
// static inline void _array__swap(Array *self, Array *other) {
static inline struct Swap _array__swap(void *self_contents, uint32_t *self_size, uint32_t *self_capacity,
void *other_contents, uint32_t *other_size, uint32_t *other_capacity) {
void *new_self_contents = other_contents;
uint32_t new_self_size = *other_size;
uint32_t new_self_capacity = *other_capacity;
void *new_other_contents = self_contents;
*other_size = *self_size;
*other_capacity = *self_capacity;
*self_size = new_self_size;
*self_capacity = new_self_capacity;
struct Swap out = {
.self_contents = new_self_contents,
.other_contents = new_other_contents,
};
return out;
}
/// This is not what you're looking for, see `array_push` or `array_grow_by`.
@@ -327,4 +344,4 @@ static inline void *_array__splice(void *self_contents, uint32_t *size, uint32_t
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -283,4 +283,4 @@ static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, in
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
+1 -1
View File
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
+1 -1
View File
@@ -78485,4 +78485,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_cairo(void) {
}
#ifdef __cplusplus
}
#endif
#endif
+1 -1
View File
@@ -237,4 +237,4 @@ void tree_sitter_cairo_external_scanner_deserialize(void *payload,
void tree_sitter_cairo_external_scanner_destroy(void *payload) {
Scanner *scanner = (Scanner *)payload;
free(scanner);
}
}
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -287,4 +287,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -262,4 +262,4 @@ static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
+1 -1
View File
@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.
+1 -1
View File
@@ -13775,4 +13775,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_capnp(void) {
}
#ifdef __cplusplus
}
#endif
#endif
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -287,4 +287,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -262,4 +262,4 @@ static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
+1 -1
View File
@@ -25350,4 +25350,4 @@ extern const TSLanguage *tree_sitter_clojure(void) {
}
#ifdef __cplusplus
}
#endif
#endif
@@ -227,4 +227,4 @@ struct TSLanguage {
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2025 Uy Ha
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+1 -1
View File
@@ -20111,4 +20111,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_cmake(void) {
}
#ifdef __cplusplus
}
#endif
#endif
+1 -1
View File
@@ -189,4 +189,4 @@ bool tree_sitter_cmake_external_scanner_scan(void *payload, TSLexer *lexer,
}
return false;
}
}
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -288,4 +288,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -283,4 +283,4 @@ static inline bool set_contains(const TSCharacterRange *ranges, uint32_t len, in
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2021 Stephan Seitz
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+1 -1
View File
@@ -218377,4 +218377,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_commonlisp(void) {
}
#ifdef __cplusplus
}
#endif
#endif
@@ -51,4 +51,4 @@ extern void (*ts_current_free)(void *ptr);
}
#endif
#endif // TREE_SITTER_ALLOC_H_
#endif // TREE_SITTER_ALLOC_H_
@@ -288,4 +288,4 @@ static inline void _array__splice(Array *self, size_t element_size,
}
#endif
#endif // TREE_SITTER_ARRAY_H_
#endif // TREE_SITTER_ARRAY_H_
@@ -263,4 +263,4 @@ static inline bool set_contains(TSCharacterRange *ranges, uint32_t len, int32_t
}
#endif
#endif // TREE_SITTER_PARSER_H_
#endif // TREE_SITTER_PARSER_H_
@@ -0,0 +1,21 @@
The MIT License (MIT)
Copyright (c) 2014 Max Brunsfeld
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

Some files were not shown because too many files have changed in this diff Show More