#!/usr/bin/env bash set -e GRAMMARS_DIR="$PWD/test/fixtures/grammars" fetch_grammar() { local grammar=$1 local ref=$2 local grammar_dir="${GRAMMARS_DIR}/${grammar}" local grammar_url=https://github.com/tree-sitter/tree-sitter-${grammar} printf 'Updating %s grammar...\n' "$grammar" if [[ ! -d "$grammar_dir" ]]; then git clone "$grammar_url" "$grammar_dir" --depth=1 fi git -C "$grammar_dir" fetch origin "$ref" --depth=1 git -C "$grammar_dir" reset --hard FETCH_HEAD } fetch_grammar bash master fetch_grammar c master fetch_grammar cpp master fetch_grammar embedded-template master fetch_grammar go master fetch_grammar html master fetch_grammar java master fetch_grammar javascript master fetch_grammar jsdoc master fetch_grammar json master fetch_grammar php master fetch_grammar python master fetch_grammar ruby master fetch_grammar rust master fetch_grammar typescript master