From 9bfaf62e42bdcd042df1230e9188487e62a112c0 Mon Sep 17 00:00:00 2001 From: Stephan Seitz Date: Sat, 10 Sep 2022 21:58:06 +0200 Subject: ci: relax check for valid captures (only check prefixes) --- scripts/check-queries.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'scripts') diff --git a/scripts/check-queries.lua b/scripts/check-queries.lua index 0fc7d7ea0..96bfe7cf3 100755 --- a/scripts/check-queries.lua +++ b/scripts/check-queries.lua @@ -35,6 +35,15 @@ local function extract_captures() return captures end +local function list_any(list, predicate) + for _, v in pairs(list) do + if predicate(v) then + return true + end + end + return false +end + local function do_check() local timings = {} local parsers = require("nvim-treesitter.info").installed_parsers() @@ -63,7 +72,9 @@ local function do_check() for _, capture in ipairs(query.captures) do local is_valid = ( vim.startswith(capture, "_") -- Helpers. - or vim.tbl_contains(captures[query_type], capture) + or list_any(captures[query_type], function(documented_capture) + return vim.startswith(documented_capture, capture) + end) ) if not is_valid then local error = string.format("(x) Invalid capture @%s in %s for %s.", capture, query_type, lang) -- cgit v1.2.3-70-g09d2