aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/treesitter/_range.lua
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2023-03-11 17:13:20 +0000
committerGitHub <noreply@github.com>2023-03-11 17:13:20 +0000
commitb55b8ddf8141088ec57522c2dd8e27ffaec77626 (patch)
tree9cb5360428a15d452db1e52b932341fbfe89fa67 /runtime/lua/vim/treesitter/_range.lua
parent0ce626b783dcca8eed08a2bb5a18e2c3ef931fbe (diff)
parent58bbc2ea0b3dfed13471e8cc0447d7598be24276 (diff)
downloadrneovim-b55b8ddf8141088ec57522c2dd8e27ffaec77626.tar.gz
rneovim-b55b8ddf8141088ec57522c2dd8e27ffaec77626.tar.bz2
rneovim-b55b8ddf8141088ec57522c2dd8e27ffaec77626.zip
Merge pull request #22613 from lewis6991/feat/tsqueryutil
Diffstat (limited to 'runtime/lua/vim/treesitter/_range.lua')
-rw-r--r--runtime/lua/vim/treesitter/_range.lua29
1 files changed, 21 insertions, 8 deletions
diff --git a/runtime/lua/vim/treesitter/_range.lua b/runtime/lua/vim/treesitter/_range.lua
index 02918da23f..f4db5016ac 100644
--- a/runtime/lua/vim/treesitter/_range.lua
+++ b/runtime/lua/vim/treesitter/_range.lua
@@ -2,8 +2,21 @@ local api = vim.api
local M = {}
----@alias Range4 {[1]: integer, [2]: integer, [3]: integer, [4]: integer}
----@alias Range6 {[1]: integer, [2]: integer, [3]: integer, [4]: integer, [5]: integer, [6]: integer}
+---@class Range4
+---@field [1] integer start row
+---@field [2] integer start column
+---@field [3] integer end row
+---@field [4] integer end column
+
+---@class Range6
+---@field [1] integer start row
+---@field [2] integer start column
+---@field [3] integer start bytes
+---@field [4] integer end row
+---@field [5] integer end column
+---@field [6] integer end bytes
+
+---@alias Range Range4|Range6
---@private
---@param a_row integer
@@ -74,8 +87,8 @@ function M.validate(r)
end
---@private
----@param r1 Range4|Range6
----@param r2 Range4|Range6
+---@param r1 Range
+---@param r2 Range
---@return boolean
function M.intercepts(r1, r2)
local srow_1, scol_1, erow_1, ecol_1 = M.unpack4(r1)
@@ -95,7 +108,7 @@ function M.intercepts(r1, r2)
end
---@private
----@param r Range4|Range6
+---@param r Range
---@return integer, integer, integer, integer
function M.unpack4(r)
local off_1 = #r == 6 and 1 or 0
@@ -110,8 +123,8 @@ function M.unpack6(r)
end
---@private
----@param r1 Range4|Range6
----@param r2 Range4|Range6
+---@param r1 Range
+---@param r2 Range
---@return boolean whether r1 contains r2
function M.contains(r1, r2)
local srow_1, scol_1, erow_1, ecol_1 = M.unpack4(r1)
@@ -132,7 +145,7 @@ end
---@private
---@param source integer|string
----@param range Range4|Range6
+---@param range Range
---@return Range6
function M.add_bytes(source, range)
if type(range) == 'table' and #range == 6 then