mirror of
https://github.com/DeusData/codebase-memory-mcp.git
synced 2026-11-13 09:53:15 +08:00
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:
@@ -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");
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
@@ -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_
|
||||
@@ -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
@@ -656688,4 +656688,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_agda(void) {
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
+1
-1
@@ -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
@@ -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_
|
||||
@@ -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
@@ -3975,4 +3975,4 @@ extern const TSLanguage *tree_sitter_astro(void) {
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
+1
-1
@@ -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_
|
||||
@@ -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
@@ -161036,4 +161036,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_awk() {
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
+1
-1
@@ -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
@@ -350628,4 +350628,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_bash(void) {
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
+1
-1
@@ -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
@@ -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
@@ -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
@@ -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_
|
||||
@@ -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
@@ -45946,4 +45946,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_bicep(void) {
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
+1
-1
@@ -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
@@ -125962,4 +125962,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_bitbake(void) {
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
+1
-1
@@ -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
@@ -465366,4 +465366,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_blade(void) {
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
+1
-1
@@ -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_
|
||||
@@ -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
@@ -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
File diff suppressed because it is too large
Load Diff
+1
-1
@@ -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_
|
||||
@@ -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
@@ -78485,4 +78485,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_cairo(void) {
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
+1
-1
@@ -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_
|
||||
@@ -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
@@ -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
@@ -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
@@ -20111,4 +20111,4 @@ TS_PUBLIC const TSLanguage *tree_sitter_cmake(void) {
|
||||
}
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
+1
-1
@@ -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
@@ -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
Reference in New Issue
Block a user