Repository navigation
Upgrade Tree-sitter to 0.27.1 using a pinned submodule - #448
Merged
Merged
Conversation
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.
Upgrade Runestone from Tree-sitter 0.20.9 to 0.27.1 using a pinned upstream Git submodule and a local SwiftPM C target. The gitlink records release commit
10eb5ac119eec9cb4267a8e035066473983f5f3a; the target attree-sitter/libcompiles onlysrc/lib.cand exposes the public API header. Upstream removed Package.swift, so Runestone owns this small build definition.Migrate language pointers to OpaquePointer, use explicit UTF-16 byte order, and initialize the new input decoder field. Keep generated grammar headers private. Remove obsolete dependency lockfiles, initialize submodules in build/documentation CI jobs, and trigger relevant checks on gitlink changes. Document contributor setup, pinned updates, source archive limitations, and license notices.
This follows Tree-sitter's C integration guidance and Git's pinned submodule workflow. SwiftPM automatically initializes submodules for Git dependencies. Setup and CI use the recorded commit, never a moving branch or
submodule update --remote.Companion language changes have landed in simonbs/TreeSitterLanguages#32. Release those compatible declarations before adopting this Runestone release. The public TreeSitterLanguage initializer and languagePointer property change from UnsafePointer to OpaquePointer. Consumers using the C API should use Runestone's TreeSitter product to avoid linking a second runtime.
Validation:
The unmodified runtime emits three integer-conversion warnings under the main project's Xcode warning settings. Older iOS runtimes and the legacy Chinese/Korean UI suites were not run locally.