difftastic/vendor/tree-sitter-hack/bin/generate-parser

32 lines
514 B
Bash

#!/bin/bash
set -e
while [ $# -gt 0 ]; do
case "$1" in
--force)
FORCE=1
shift
;;
*)
break
;;
esac
done
mkdir -p tmp
CACHED_SHA=$(cat 'tmp/grammar.js.sha' 2>/dev/null || true)
GRAMMAR_SHA=$(sha256sum 'grammar.js' | cut -d' ' -f1)
# Exit if grammar.js hasn't changed since last time we generated parser.
if [ "$FORCE" != 1 ] && [ "$CACHED_SHA" = "$GRAMMAR_SHA" ]; then
exit
fi
printf "Generating parser...\n"
npx tree-sitter generate
printf "$GRAMMAR_SHA" >'tmp/grammar.js.sha'