mirror of
https://github.com/chenasraf/nvim-treesitter.git
synced 2026-05-17 17:38:02 +00:00
Problem: Not easy to run all checks and tests locally. Redundant CI workflows. Solution: Separate CI into two workflows: * lint: Lua files (stylua, luals), query files (valid captures, predicates, directives using tsqueryls), docs (SUPPORTED_LANGUAGES.md) -- does not need parser installation * tests: parsers (ABI compatibility), query files (tsqueryls on Linux/macOS; nvim on Windows), highlight and indent tests (separated for better readability) -- needs parser installation (but only once) Switch to https://github.com/nvim-treesitter/highlight-assertions fork with ABI 15 support. Run all tests (on Linux and macOS) through `make` (`formatlua`, `checklua`, `lintquery`, `formatquery`, `checkquery`, `docs`, `tests`), which downloads and caches all necessary dependencies. Remove `update-readme` workflow (replaced by lint job on PRs).
22 lines
755 B
Bash
Executable File
22 lines
755 B
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
NVIM_TAG=${NVIM_TAG-nightly}
|
|
|
|
os=$(uname -s)
|
|
if [[ $os == Linux ]]; then
|
|
wget "https://github.com/neovim/neovim/releases/download/${NVIM_TAG}/nvim-linux-x86_64.tar.gz"
|
|
tar -zxf nvim-linux-x86_64.tar.gz
|
|
sudo ln -s "$PWD"/nvim-linux-x86_64/bin/nvim /usr/local/bin
|
|
rm -rf "$PWD"/nvim-linu-x86_x64/lib/nvim/parser
|
|
elif [[ $os == Darwin ]]; then
|
|
RELEASE_NAME="nvim-macos-$(uname -m)"
|
|
curl -L "https://github.com/neovim/neovim/releases/download/${NVIM_TAG}/$RELEASE_NAME.tar.gz" | tar -xz
|
|
sudo ln -s "$PWD/$RELEASE_NAME/bin/nvim" /usr/local/bin
|
|
rm -rf "$PWD/$RELEASE_NAME/lib/nvim/parser"
|
|
else
|
|
curl -L "https://github.com/neovim/neovim/releases/download/${NVIM_TAG}/nvim-win64.zip" -o nvim-win64.zip
|
|
unzip nvim-win64
|
|
fi
|