diff --git a/script/generate-fixtures b/script/generate-fixtures index 40f6c5d9..e06af1f7 100755 --- a/script/generate-fixtures +++ b/script/generate-fixtures @@ -11,8 +11,8 @@ 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) -for grammar_file in $grammar_files; do - grammar_dir=$(dirname $grammar_file) +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 @@ -22,6 +22,6 @@ for grammar_file in $grammar_files; do echo "Regenerating ${grammar_name} parser" ( cd $grammar_dir - $tree_sitter generate src/grammar.json + "$tree_sitter" generate src/grammar.json ) -done +done <<< "$grammar_files" diff --git a/script/generate-fixtures-wasm b/script/generate-fixtures-wasm index 1862fb40..a987e31a 100755 --- a/script/generate-fixtures-wasm +++ b/script/generate-fixtures-wasm @@ -4,20 +4,23 @@ 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) -if [[ "$#" > 0 ]]; then - grammar_names=($1) -fi +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 -for grammar_file in $grammar_files; do - grammar_dir=$(dirname $grammar_file) - grammar_name=$(basename $grammar_dir) echo "Compiling ${grammar_name} parser to wasm" - $tree_sitter build-wasm $grammar_dir -done + "$tree_sitter" build-wasm $grammar_dir +done <<< "$grammar_files" mv tree-sitter-*.wasm target/release/ diff --git a/script/generate-wasm-exports-list b/script/generate-wasm-exports-list index 25099f7f..75dea727 100755 --- a/script/generate-wasm-exports-list +++ b/script/generate-wasm-exports-list @@ -1,19 +1,18 @@ #!/usr/bin/env bash -root_dir=$PWD -grammars_dir=${root_dir}/test/fixtures/grammars -grammar_names=$(ls $grammars_dir | tr '-' '_') +set -e symbol_file=$(mktemp) +wasm_files=$(find target -maxdepth 2 -name 'tree-sitter-*.wasm') -for grammar_name in $grammar_names; do - wasm-objdump \ - --details target/release/tree-sitter-${grammar_name}.wasm \ - --section Import \ - | egrep -o '<(\w+)>' \ - | tr -d '<>' \ +while read -r wasm_file; do + wasm-objdump \ + --details "$wasm_file" \ + --section Import \ + | egrep -o '<\w+>' \ + | tr -d '<>' \ >> $symbol_file -done +done <<< "$wasm_files" sort -u -o $symbol_file $symbol_file cat $symbol_file