generate-fixtures: handle language repos that contain multiple grammars
Refs tree-sitter/tree-sitter-typescript#68
This commit is contained in:
parent
da93e55f3a
commit
314f3fa00c
2 changed files with 20 additions and 24 deletions
|
|
@ -4,19 +4,24 @@ 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_names=$(ls $grammars_dir)
|
||||
grammar_files=$(find $grammars_dir -name grammar.js | grep -v node_modules)
|
||||
|
||||
if [[ "$#" > 0 ]]; then
|
||||
grammar_names=($1)
|
||||
fi
|
||||
for grammar_file in $grammar_files; 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_name in $grammar_names; do
|
||||
echo "Regenerating ${grammar_name} parser"
|
||||
(
|
||||
cd ${grammars_dir}/${grammar_name}
|
||||
cd $grammar_dir
|
||||
$tree_sitter generate src/grammar.json
|
||||
)
|
||||
done
|
||||
|
|
|
|||
|
|
@ -1,22 +1,13 @@
|
|||
@echo off
|
||||
|
||||
call:regenerate bash
|
||||
call:regenerate c
|
||||
call:regenerate cpp
|
||||
call:regenerate embedded-template
|
||||
call:regenerate go
|
||||
call:regenerate html
|
||||
call:regenerate javascript
|
||||
call:regenerate json
|
||||
call:regenerate python
|
||||
call:regenerate rust
|
||||
exit /B 0
|
||||
setlocal EnableDelayedExpansion
|
||||
set tree_sitter="%cd%\target\release\tree-sitter"
|
||||
|
||||
for /f "tokens=*" %%f in ('dir test\fixtures\grammars\grammar.js /b/s') do (
|
||||
pushd "%%f\.."
|
||||
echo Regenerating parser !cd!
|
||||
%tree_sitter% generate src\grammar.json
|
||||
popd
|
||||
)
|
||||
|
||||
:regenerate
|
||||
setlocal
|
||||
set tree_sitter=%cd%\target\release\tree-sitter
|
||||
set grammar_dir=test\fixtures\grammars\%~1
|
||||
pushd %grammar_dir%
|
||||
%tree_sitter% generate src\grammar.json
|
||||
popd
|
||||
exit /B 0
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue