aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/treesitter/_range.lua
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2023-03-06 10:57:14 +0000
committerGitHub <noreply@github.com>2023-03-06 10:57:14 +0000
commitf9a46391ab5961fe6c6b7d1efdc96befdd495c11 (patch)
treecee7f3f2bd2e34c169f9dd6c4dae0b40dd47072a /runtime/lua/vim/treesitter/_range.lua
parentb0620ffe5a2e16d6d52e803978c90d0ffb030908 (diff)
downloadrneovim-f9a46391ab5961fe6c6b7d1efdc96befdd495c11.tar.gz
rneovim-f9a46391ab5961fe6c6b7d1efdc96befdd495c11.tar.bz2
rneovim-f9a46391ab5961fe6c6b7d1efdc96befdd495c11.zip
refactor(treesitter): simplify some range functions
Diffstat (limited to 'runtime/lua/vim/treesitter/_range.lua')
-rw-r--r--runtime/lua/vim/treesitter/_range.lua20
1 files changed, 20 insertions, 0 deletions
diff --git a/runtime/lua/vim/treesitter/_range.lua b/runtime/lua/vim/treesitter/_range.lua
index 8decd3a1fd..bec24a23a5 100644
--- a/runtime/lua/vim/treesitter/_range.lua
+++ b/runtime/lua/vim/treesitter/_range.lua
@@ -54,6 +54,26 @@ M.cmp_pos = {
setmetatable(M.cmp_pos, { __call = cmp_pos })
---@private
+---Check if a variable is a valid range object
+---@param r any
+---@return boolean
+function M.validate(r)
+ if type(r) ~= 'table' or #r ~= 6 and #r ~= 4 then
+ return false
+ end
+
+ for _, e in
+ ipairs(r --[[@as any[] ]])
+ do
+ if type(e) ~= 'number' then
+ return false
+ end
+ end
+
+ return true
+end
+
+---@private
---@param r1 Range4|Range6
---@param r2 Range4|Range6
---@return boolean