diff options
Diffstat (limited to 'Zig.novaextension/Scripts/update-parser.sh')
| -rwxr-xr-x | Zig.novaextension/Scripts/update-parser.sh | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/Zig.novaextension/Scripts/update-parser.sh b/Zig.novaextension/Scripts/update-parser.sh deleted file mode 100755 index 6e1fd63..0000000 --- a/Zig.novaextension/Scripts/update-parser.sh +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/sh -# -# update-parser.sh — Bump vendored tree-sitter-zig and rebuild the dylib. -# -# Purpose: -# Refresh the vendored snapshot under vendor/tree-sitter-zig/ to a newer -# upstream commit, update VENDORING.md, and rebuild the parser dylib. -# -# What it does: -# - clones tree-sitter-grammars/tree-sitter-zig into a temp dir -# - checks out the requested ref (default: HEAD of the default branch) -# - exits early if the upstream SHA matches the pinned SHA -# - replaces src/, queries/, grammar.js, tree-sitter.json, LICENSE -# with the upstream copies; leaves VENDORING.md and README.upstream.md -# untouched -# - rewrites the "Pinned commit:" line in VENDORING.md -# - invokes build-parser.sh to rebuild Syntaxes/libtree-sitter-zig.dylib -# - prints a GitHub compare link for the diff -# -# Usage: -# ./Scripts/update-parser.sh # bump to upstream HEAD -# ./Scripts/update-parser.sh <ref> # bump to a tag, branch, or SHA -# -# Caveats: -# - any local edits inside the listed paths are overwritten — review -# `git diff vendor/` afterwards before committing -# - parses VENDORING.md by an exact "Pinned commit: <sha>" line prefix; -# keep that line format intact -# -# Requirements: -# git, plus everything build-parser.sh needs. - -set -eu - -ROOT="$(CDPATH='' cd -- "$(dirname -- "$0")/.." && pwd)" -VENDOR_DIR="$ROOT/vendor/tree-sitter-zig" -UPSTREAM="https://github.com/tree-sitter-grammars/tree-sitter-zig.git" -REF="${1:-HEAD}" - -TMP="$(mktemp -d)" -trap 'rm -rf "$TMP"' EXIT - -git clone --quiet "$UPSTREAM" "$TMP/repo" -git -C "$TMP/repo" checkout --quiet "$REF" -SHA="$(git -C "$TMP/repo" rev-parse HEAD)" - -OLD_SHA="$(awk '/^Pinned commit:/ {print $3}' "$VENDOR_DIR/VENDORING.md")" -if [ "$SHA" = "$OLD_SHA" ]; then - echo "Already at $SHA — nothing to do." - exit 0 -fi - -for path in src queries grammar.js tree-sitter.json LICENSE; do - rm -rf "$VENDOR_DIR/$path" - cp -R "$TMP/repo/$path" "$VENDOR_DIR/$path" -done - -sed -i.bak "s/^Pinned commit: .*/Pinned commit: $SHA/" "$VENDOR_DIR/VENDORING.md" -rm "$VENDOR_DIR/VENDORING.md.bak" - -"$ROOT/Scripts/build-parser.sh" - -echo "Updated $OLD_SHA -> $SHA" -echo "Compare: https://github.com/tree-sitter-grammars/tree-sitter-zig/compare/$OLD_SHA...$SHA" |
