diff options
Diffstat (limited to 'ci/install.sh')
-rwxr-xr-x | ci/install.sh | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/ci/install.sh b/ci/install.sh index cda9a11f08..a6cd955da5 100755 --- a/ci/install.sh +++ b/ci/install.sh @@ -4,7 +4,7 @@ set -e set -o pipefail if [[ "${CI_TARGET}" == lint ]]; then - python -m pip -q install --user --upgrade flake8 + python3 -m pip -q install --user --upgrade flake8 exit fi @@ -24,3 +24,27 @@ gem install --no-document --version ">= 0.8.0" neovim echo "Install neovim npm package" npm install -g neovim npm link neovim + +echo "Install tree-sitter npm package" + +# FIXME +# https://github.com/tree-sitter/tree-sitter/commit/e14e285a1087264a8c74a7c62fcaecc49db9d904 +# If queries added to tree-sitter-c, we can use latest tree-sitter-cli +npm install -g tree-sitter-cli@v0.15.9 + +echo "Install tree-sitter c parser" +curl "https://codeload.github.com/tree-sitter/tree-sitter-c/tar.gz/v0.15.2" -o tree_sitter_c.tar.gz +tar xf tree_sitter_c.tar.gz +cd tree-sitter-c-0.15.2 +export TREE_SITTER_DIR=$HOME/tree-sitter-build/ +mkdir -p "$TREE_SITTER_DIR/bin" + +if [[ "$BUILD_32BIT" != "ON" ]]; then + # builds c parser in $HOME/tree-sitter-build/bin/c.(so|dylib) + tree-sitter test +else + # no tree-sitter binary for 32bit linux, so fake it (no tree-sitter unit tests) + cd src/ + gcc -m32 -o "$TREE_SITTER_DIR/bin/c.so" -shared parser.c -I. +fi +test -f "$TREE_SITTER_DIR/bin/c.so" |