Make scripts work when repo path contains spaces

This commit is contained in:
Max Brunsfeld 2019-08-12 15:02:59 -07:00
parent 5f369a5870
commit 84c3bf1dd9
3 changed files with 24 additions and 22 deletions

View file

@ -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"

View file

@ -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/

View file

@ -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