#!/usr/bin/env bash set -e cargo build --release filter_grammar_name=$1 root_dir=$PWD tree_sitter=${root_dir}/target/release/tree-sitter grammars_dir=${root_dir}/test/fixtures/grammars grammar_files=$(find $grammars_dir -name grammar.js | grep -v node_modules) while read -r grammar_file; do grammar_dir=$(dirname "$grammar_file") grammar_name=$(basename "$grammar_dir") if [[ -n $filter_grammar_name && "$filter_grammar_name" != "$grammar_name" ]]; then continue fi echo "Regenerating ${grammar_name} parser" ( cd $grammar_dir "$tree_sitter" generate src/grammar.json ) done <<< "$grammar_files"