mirror of
https://github.com/nvim-treesitter/nvim-treesitter.git
synced 2026-07-02 19:46:58 -04:00
feat(tests)!: new infrastructure based on makefile
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).
This commit is contained in:
parent
4e906caca3
commit
53dccb3a77
19 changed files with 269 additions and 272 deletions
|
|
@ -6,24 +6,13 @@ local function check_assertions(file)
|
|||
vim.fn.bufload(file)
|
||||
local ft = vim.bo[buf].filetype
|
||||
local lang = vim.treesitter.language.get_lang(ft) or ft
|
||||
assert.same(
|
||||
1,
|
||||
vim.fn.executable('highlight-assertions'),
|
||||
'"highlight-assertions" not executable!'
|
||||
.. ' Get it via "cargo install --git https://github.com/theHamsta/highlight-assertions"'
|
||||
)
|
||||
local assertions = vim.fn.json_decode(
|
||||
vim.fn.system(
|
||||
"highlight-assertions -p '"
|
||||
.. config.get_install_dir('parser')
|
||||
.. '/'
|
||||
.. lang
|
||||
.. ".so'"
|
||||
.. " -s '"
|
||||
.. file
|
||||
.. "'"
|
||||
)
|
||||
)
|
||||
local assertions = vim.fn.json_decode(vim.fn.system({
|
||||
os.getenv('HLASSERT'),
|
||||
'-p',
|
||||
config.get_install_dir('parser') .. '/' .. lang .. '.so',
|
||||
'-s',
|
||||
file,
|
||||
}))
|
||||
local parser = ts.get_parser(buf, lang)
|
||||
|
||||
local top_level_root = parser:parse(true)[1]:root()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue