aboutsummaryrefslogtreecommitdiff
path: root/Zig.novaextension/Scripts/update-parser.sh
diff options
context:
space:
mode:
Diffstat (limited to 'Zig.novaextension/Scripts/update-parser.sh')
-rwxr-xr-xZig.novaextension/Scripts/update-parser.sh64
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"