33 lines
786 B
Bash
Executable file
33 lines
786 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
ROOT_DIR="$PWD"
|
|
GRAMMARS_DIR="$ROOT_DIR/test/fixtures/grammars"
|
|
|
|
if [[ $CI == true ]]; then
|
|
set -x
|
|
else
|
|
cargo build --release
|
|
TREE_SITTER="$ROOT_DIR/target/release/tree-sitter"
|
|
fi
|
|
|
|
build_wasm_args=
|
|
if [[ $1 == --docker ]]; then
|
|
build_wasm_args=--docker
|
|
shift
|
|
fi
|
|
|
|
filter_grammar_name="$1"
|
|
|
|
while read -r grammar_file; do
|
|
grammar_dir="${grammar_file%/*}"
|
|
grammar_name="${grammar_dir##*/}"
|
|
|
|
if [[ -n $filter_grammar_name && "$filter_grammar_name" != "$grammar_name" ]]; then
|
|
continue
|
|
fi
|
|
|
|
printf 'Compiling %s parser to wasm\n' "$grammar_name"
|
|
"$TREE_SITTER" build --wasm $build_wasm_args -o "target/release/tree-sitter-${grammar_name}.wasm" "$grammar_dir"
|
|
done < <(find "$GRAMMARS_DIR" -name grammar.js -not -path '*/node_modules/*')
|