forked from Crockan/MercuryToolbox
32 lines
1.3 KiB
Markdown
32 lines
1.3 KiB
Markdown
# Vendored Tree-sitter
|
|
|
|
This directory is intentionally tracked and wired through the workspace
|
|
`[patch.crates-io]` entry for `tree-sitter`.
|
|
|
|
## Why This Exists
|
|
|
|
Mercury Toolbox uses Tree-sitter for code-reading tools, and the local vendor copy
|
|
keeps the Rust binding and native C source available for reproducible Windows
|
|
builds while the workspace pins the exact dependency surface.
|
|
|
|
## Maintainer Rules
|
|
|
|
- Do not edit generated or upstream Tree-sitter source by hand unless the patch is
|
|
intentionally local and documented in this file.
|
|
- Keep `Cargo.toml.orig` beside the active `Cargo.toml` when updating so the local
|
|
changes are reviewable.
|
|
- After re-vendoring, verify that the root `Cargo.toml` still points
|
|
`[patch.crates-io].tree-sitter` at `vendor/tree-sitter`.
|
|
- Run the smallest code-reading gate that covers the change first, then run the
|
|
broader Jade gate before claiming the repository is clean.
|
|
|
|
## Update Sketch
|
|
|
|
1. Replace this directory with the desired upstream `tree-sitter` crate contents.
|
|
2. Preserve or refresh `Cargo.toml.orig`.
|
|
3. Reapply any local manifest adjustment needed by the workspace.
|
|
4. Run `cargo check --all-targets --all-features` or a narrower code-reading
|
|
package check while iterating.
|
|
5. Run `pwsh -NoProfile -File .\scripts\check-jade.ps1` for final repository
|
|
proof.
|