From 6799824f6b9b9185622e79cda7eebb03c6f6ac15 Mon Sep 17 00:00:00 2001 From: Dundar Göc Date: Mon, 31 Jan 2022 21:45:56 +0100 Subject: ci: skip swift check on neovim stable This is meant as a temporary workaround until neovim 0.7 is released. More context: https://github.com/nvim-treesitter/nvim-treesitter/issues/2313#issuecomment-1025258357 --- scripts/check-queries.lua | 48 +++++++++++++++++++++++++---------------------- 1 file changed, 26 insertions(+), 22 deletions(-) (limited to 'scripts') diff --git a/scripts/check-queries.lua b/scripts/check-queries.lua index 3ffba64e5..1cda6913e 100755 --- a/scripts/check-queries.lua +++ b/scripts/check-queries.lua @@ -44,28 +44,32 @@ local function do_check() io_print "::group::Check parsers" for _, lang in pairs(parsers) do - timings[lang] = {} - for _, query_type in pairs(query_types) do - local before = vim.loop.hrtime() - local ok, query = pcall(queries.get_query, lang, query_type) - local after = vim.loop.hrtime() - local duration = after - before - table.insert(timings, { duration = duration, lang = lang, query_type = query_type }) - io_print("Checking " .. lang .. " " .. query_type .. string.format(" (%.02fms)", duration * 1e-6)) - if not ok then - vim.api.nvim_err_writeln(query) - last_error = query - else - if query then - for _, capture in ipairs(query.captures) do - local is_valid = ( - vim.startswith(capture, "_") -- Helpers. - or vim.tbl_contains(captures[query_type], capture) - ) - if not is_valid then - local error = string.format("(x) Invalid capture @%s in %s for %s.", capture, query_type, lang) - io_print(error) - last_error = error + -- NOTE: this is a temporary workaround to skip swift tests on ubuntu + -- stable and should be removed once neovim 0.7 is released. + if vim.fn.getenv "SKIP_SWIFT_CHECK" == vim.NIL or lang ~= "swift" then + timings[lang] = {} + for _, query_type in pairs(query_types) do + local before = vim.loop.hrtime() + local ok, query = pcall(queries.get_query, lang, query_type) + local after = vim.loop.hrtime() + local duration = after - before + table.insert(timings, { duration = duration, lang = lang, query_type = query_type }) + io_print("Checking " .. lang .. " " .. query_type .. string.format(" (%.02fms)", duration * 1e-6)) + if not ok then + vim.api.nvim_err_writeln(query) + last_error = query + else + if query then + for _, capture in ipairs(query.captures) do + local is_valid = ( + vim.startswith(capture, "_") -- Helpers. + or vim.tbl_contains(captures[query_type], capture) + ) + if not is_valid then + local error = string.format("(x) Invalid capture @%s in %s for %s.", capture, query_type, lang) + io_print(error) + last_error = error + end end end end -- cgit v1.2.3-70-g09d2