aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xscripts/update-ts-runtime.sh11
-rw-r--r--src/tree_sitter/README.md16
-rw-r--r--src/tree_sitter/treesitter_commit_hash.txt1
3 files changed, 24 insertions, 4 deletions
diff --git a/scripts/update-ts-runtime.sh b/scripts/update-ts-runtime.sh
index 6f3cc7ba39..c75c5d2a39 100755
--- a/scripts/update-ts-runtime.sh
+++ b/scripts/update-ts-runtime.sh
@@ -3,14 +3,16 @@
# This script will update the treesitter runtime to the provided commit.
# Usage :
# $0 <tree-sitter commit sha>
+set -e
ts_source_dir="/tmp/tree-sitter"
ts_url="https://github.com/tree-sitter/tree-sitter.git"
base_dir="$(cd "$(dirname $(dirname $0))" && pwd)"
ts_dest_dir="$base_dir/src/tree_sitter/"
+ts_current_commit="$ts_dest_dir/treesitter_commit_hash.txt"
-echo "$ts_dest_dir"
+echo "Updating treesitter runtime from $(cat "$ts_current_commit") to $1..."
if [ ! -d "$ts_source_dir" ]; then
echo "Cloning treesitter..."
@@ -20,16 +22,17 @@ else
fi
echo "Checking out $1..."
-cd "$ts_source_dir"
git -C "$ts_source_dir" checkout $1
echo "Removing old files..."
-find "$ts_dest_dir" -not -name "LICENSE" -not -type d -delete
+find "$ts_dest_dir" -not -name "LICENSE" -not -name "README.md" -not -type d -delete
echo "Copying files..."
cp -t "$ts_dest_dir" -r "$ts_source_dir/lib/src"/*
cp -t "$ts_dest_dir" "$ts_source_dir/lib/include/tree_sitter"/*
-cd "$base_dir"
+echo "$1" > "$ts_current_commit"
+
make
TEST_FILE="$base_dir/test/functional/lua/treesitter_spec.lua" make test
+
diff --git a/src/tree_sitter/README.md b/src/tree_sitter/README.md
new file mode 100644
index 0000000000..20cb35e7c3
--- /dev/null
+++ b/src/tree_sitter/README.md
@@ -0,0 +1,16 @@
+Tree-sitter vendor runtime
+==========================
+
+This is the vendor runtime code for treesitter.
+
+The original code can be found [here](https://github.com/tree-sitter/tree-sitter).
+
+As this code is not ours, if you find any bugs, feel free to open an issue, so that we can
+investigate and determine if this should go upstream.
+
+# Updating
+
+To update the treesitter runtime, use the `update-ts-runtime.sh` script in the `scripts` directory:
+```sh
+./scripts/update-ts-runtime.sh <commit you want to update to>
+```
diff --git a/src/tree_sitter/treesitter_commit_hash.txt b/src/tree_sitter/treesitter_commit_hash.txt
new file mode 100644
index 0000000000..3053a9ca25
--- /dev/null
+++ b/src/tree_sitter/treesitter_commit_hash.txt
@@ -0,0 +1 @@
+9a82dcc666d06617cbab3061467075019fae0b0d