fix(deps): update module github.com/odvcencio/gotreesitter to v0.21.0#187
Open
renovate[bot] wants to merge 1 commit into
Open
fix(deps): update module github.com/odvcencio/gotreesitter to v0.21.0#187renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #187 +/- ##
==========================================
- Coverage 83.53% 83.50% -0.03%
==========================================
Files 287 287
Lines 23204 23204
==========================================
- Hits 19383 19377 -6
- Misses 2658 2662 +4
- Partials 1163 1165 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



This PR contains the following updates:
v0.20.9→v0.21.0Release Notes
odvcencio/gotreesitter (github.com/odvcencio/gotreesitter)
v0.21.0: — the engine releaseCompare Source
The engine release. The generalized GLR parser core — a C-faithful error
recovery engine plus a GSS-forest fast path — replaces the v0.20.x
per-language recovery approximations as the default runtime. Error recovery
for 123 elected grammars now reproduces C tree-sitter's decisions
(strategy-1 election order, per-stack-version error-mode lexing identity,
error-cost model, and condense scheduling were each verified
decision-for-decision against an instrumented tree-sitter v0.25.0 oracle).
The campaign branch's full correctness backlog — 42 known failing tests at
its peak — is zero in this release, and the root test suite dropped from
~340s to ~62s along the way.
Changed
previously divergent constructs: PHP static named functions, the authzed
recovery family, Angular non-null assertions, FIDL versioned layout
modifiers, Julia trailing-comma assignment tuples, doxygen comment blocks,
and Go range-with-function-literal bodies, among others. Downstreams that
pinned the old (non-C) error shapes for these languages will see diffs on
upgrade — the new shapes are the C-oracle-verified ones.
(
_automatic_semicolon), replacing the grammar-level approximation. Fixesthe byte-strict ASI parity gap; spurious-
HasErrorfiles on a large realrepo walk dropped 436 → 17.
(merged-version m0 basis, finished-tree-first cost checks, missing-token
versions created before the recover pass, shiftable originals preserved as
their own paths, record-time dedup), and ordinary reduces no longer
dissolve extra ERROR carriers (C keeps every popped subtree).
lookaheads per stack version like C (
LexModes[0]at ERROR_STATE),including an engine-side error-mode relex for custom token sources, with
the capability forwarded through included-range wrappers.
Fixed
repeat-boundary conflict resolvers for embedded languages. The veto —
intended only for grammargen-generated grammars — silently disabled the
C#, Java, C, Rust, TypeScript, PHP, Python (and more) resolvers; C#
designer-style files forked ~32 GLR stacks per statement and exhausted the
arena (2064 stacks); they now parse with 1 stack well under the 500ms
test budget.
livelock no longer force dead-end declines on valid input (bash/CMake/JSON
repeat-heavy shapes; python
module_repeat1worklist blowup); theEOF-recovery competition probe no longer declines ordinary clean input;
and
Parser.SetTimeoutMicrosis now enforced inside the forest path(previously unenforceable for forest-dispatched languages).
comparison (O(bytes²) on repetitive inputs): raw-shape content
fingerprints, dirty-keyed resident caches, and exact per-node error-rank
memoization take C# designer-style n=300 from ~1.9s to ~282ms in the
forest path.
invisible-root-child flattening (doxygen whole-block comment shapes).
_whitespaceextra tokens like C'sgenerated lexer instead of silently skipping horizontal whitespace, fixing
a 1-byte recovery-anchor divergence.
recovered structure (highlight queries produce results again); a
recovered-structure guard scopes the collapse to genuinely empty ERROR
trees.
generalization had dropped the guard, breaking field-mapping
preservation).
mid-production (Julia
f(a,b) = c[d]tuple assignments) no longercorrupts the enclosing production or kills the stack; C's nested shape is
restored.
development (cmake, git_config, git_rebase, regex, ruby, tsx, twig) were
re-measured: six healed by the engine fixes and are locked with
oracle-verified regression-pin tests; regex's remaining hidden-child
divergence is pinned with a self-healing skip and tracked.
-racesuite now actually runs for non-draft PRs withoutpanicking Go's default per-package timeout (
-timeout 35m -p 1, 60m jobbudget); wall-clock boundedness contracts skip under
-race(instrumentation-slowdown measurement, not parser boundedness);
./grammargenruns as a non-blocking visibility step until itsenumerated pre-existing backlog (stale markdown blob, two Dart parity
gaps) is burned down.
Added
docs/authoring-languages.md— adding a language without forking:grammar.json → grammargen → blob →
Register/RegisterExtension/taproot,the
wantsForestopt-in, generator budgets, and blob provenancediscipline.
docs/external-scanners.md— when a grammar needs an external scanner andthe Go porting contract (emit extras, C-EOF behavior, error-mode lexing,
token-source responsibilities), with Pawn's five externals as the worked
case study.
(
grammars/clean_regression_pins_test.go).Performance
allocs/op vs the pre-campaign baseline.
3 allocs) at CPU parity (~1.4μs on CI hardware; ~70× faster than native C
on the same workload). The external-scanner leaf-fastpath bailout
introduced by ASI was replaced with a pooled verification source, and
per-parse lexer/closure allocations were pooled away.
baseline: −20% on modern desktop cores, +17% on 2-core CI-runner hardware
(the engine parses Go via the production path instead of the retired
forest dispatch, plus real ASI lexing at ~7-9%). The CI perf contract was
rebased to the v0.21.0 engine; the runner-side delta is accepted and
tracked for reclamation.
baseline).
longer burn 100-200s each before failing).
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.