From b9f19d3e286d95d9209afbc479fa2eb908067fb1 Mon Sep 17 00:00:00 2001 From: Lewis Russell Date: Wed, 8 Mar 2023 17:59:45 +0000 Subject: Revert "refactor(treesitter): delegate region calculation to treesitter" (#22575) Revert "refactor(treesitter): delegate region calculation to treesitter (#22553)" This reverts commit 276b647fdba07bf1762d8dd371c4b655b8a418df. --- runtime/lua/vim/treesitter/_range.lua | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) (limited to 'runtime/lua/vim/treesitter/_range.lua') diff --git a/runtime/lua/vim/treesitter/_range.lua b/runtime/lua/vim/treesitter/_range.lua index 21e46a560a..bec24a23a5 100644 --- a/runtime/lua/vim/treesitter/_range.lua +++ b/runtime/lua/vim/treesitter/_range.lua @@ -78,8 +78,11 @@ end ---@param r2 Range4|Range6 ---@return boolean function M.intercepts(r1, r2) - local srow_1, scol_1, erow_1, ecol_1 = M.unpack4(r1) - local srow_2, scol_2, erow_2, ecol_2 = M.unpack4(r2) + local off_1 = #r1 == 6 and 1 or 0 + local off_2 = #r1 == 6 and 1 or 0 + + local srow_1, scol_1, erow_1, ecol_1 = r1[1], r1[2], r1[3 + off_1], r1[4 + off_1] + local srow_2, scol_2, erow_2, ecol_2 = r2[1], r2[2], r2[3 + off_2], r2[4 + off_2] -- r1 is above r2 if M.cmp_pos.le(erow_1, ecol_1, srow_2, scol_2) then @@ -94,21 +97,16 @@ function M.intercepts(r1, r2) return true end ----@private ----@param r Range4|Range6 ----@return integer, integer, integer, integer -function M.unpack4(r) - local off_1 = #r == 6 and 1 or 0 - return r[1], r[2], r[3 + off_1], r[4 + off_1] -end - ---@private ---@param r1 Range4|Range6 ---@param r2 Range4|Range6 ---@return boolean whether r1 contains r2 function M.contains(r1, r2) - local srow_1, scol_1, erow_1, ecol_1 = M.unpack4(r1) - local srow_2, scol_2, erow_2, ecol_2 = M.unpack4(r2) + local off_1 = #r1 == 6 and 1 or 0 + local off_2 = #r1 == 6 and 1 or 0 + + local srow_1, scol_1, erow_1, ecol_1 = r1[1], r1[2], r1[3 + off_1], r1[4 + off_1] + local srow_2, scol_2, erow_2, ecol_2 = r2[1], r2[2], r2[3 + off_2], r2[4 + off_2] -- start doesn't fit if M.cmp_pos.gt(srow_1, scol_1, srow_2, scol_2) then @@ -125,13 +123,9 @@ end ---@private ---@param source integer|string ----@param range Range4|Range6 +---@param range Range4 ---@return Range6 function M.add_bytes(source, range) - if type(range) == 'table' and #range == 6 then - return range --[[@as Range6]] - end - local start_row, start_col, end_row, end_col = range[1], range[2], range[3], range[4] local start_byte = 0 local end_byte = 0 -- cgit