From 0ba9dd962f4b506484127e60a2bbf65e7b4602bc Mon Sep 17 00:00:00 2001 From: Yi Ming Date: Thu, 29 Aug 2024 23:26:39 +0800 Subject: [PATCH] refactor: save `TSNode` directly --- lua/nvim-treesitter-textobjects/shared.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lua/nvim-treesitter-textobjects/shared.lua b/lua/nvim-treesitter-textobjects/shared.lua index d951eb7c..9d89b63b 100644 --- a/lua/nvim-treesitter-textobjects/shared.lua +++ b/lua/nvim-treesitter-textobjects/shared.lua @@ -84,7 +84,7 @@ local get_query_matches = memoize(function(bufnr, query_group, root, root_lang) if query_name ~= nil then local path = vim.split(query_name, "%.") for _, node in ipairs(nodes) do - insert_to_path(prepared_match, path, { node:range(true) }) + insert_to_path(prepared_match, path, node) end end end @@ -143,8 +143,8 @@ local function get_capture_ranges_recursively(bufnr, query_string, query_group) for _, match in pairs(matches) do local found = get_at_path(match, query_string) if found then - ---@cast found Range6 - table.insert(ranges, found) + ---@cast found TSNode + table.insert(ranges, { found:range(true) }) end end end) @@ -178,7 +178,9 @@ function M.find_best_range(bufnr, capture_string, query_group, filter_predicate, local matches = get_query_matches(bufnr, query_group, root, lang) for _, maybe_match in pairs(matches) do - local range = get_at_path(maybe_match, capture_string) + local node = get_at_path(maybe_match, capture_string) + ---@cast node TSNode + local range = { node:range(true) } ---@cast range Range6 if range and filter_predicate(range) then