aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar_generate.sh
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar_generate.sh')
-rw-r--r--vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar_generate.sh29
1 files changed, 29 insertions, 0 deletions
diff --git a/vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar_generate.sh b/vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar_generate.sh
new file mode 100644
index 0000000..bf15d1a
--- /dev/null
+++ b/vendor/github.com/mitjafelicijan/go-tree-sitter/test_grammar_generate.sh
@@ -0,0 +1,29 @@
1# transforms grammar js file into go
2# cgo can't be used in tests
3out=test_grammar.go
4
5npm install tree-sitter-cli@0.20.0
6export PATH=$PATH:./node_modules/.bin
7
8tree-sitter generate $(pwd)/test_grammar.js
9
10echo "//Code generated by test_grammar_generate.sh; DO NOT EDIT." > $out
11echo "package sitter" >> $out
12sed -e 's/^/\/\//' src/tree_sitter/parser.h >> $out
13sed -e 's/^/\/\//' src/parser.c | grep -v "#include <tree_sitter/parser.h>" >> $out
14echo "import \"C\"
15import \"unsafe\"
16
17func getTestGrammar() *Language {
18 ptr := unsafe.Pointer(C.tree_sitter_test_grammar())
19 return NewLanguage(ptr)
20}" >> $out
21
22# cleanup
23rm binding.gyp
24rm -rf node_modules/
25rm -rf src/
26rm package-lock.json
27rm Cargo.toml
28rm -rf bindings/
29rm package.json