aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/treesitter/query.lua
diff options
context:
space:
mode:
authorLewis Russell <lewis6991@gmail.com>2023-03-10 16:40:27 +0000
committerLewis Russell <lewis6991@gmail.com>2023-03-11 16:38:18 +0000
commit58bbc2ea0b3dfed13471e8cc0447d7598be24276 (patch)
treeaf4af0ef3bda72549bd5069bf04dffab57bc4241 /runtime/lua/vim/treesitter/query.lua
parent9d70fe062ca01ac0673faa6ccbb88345916aeea7 (diff)
downloadrneovim-58bbc2ea0b3dfed13471e8cc0447d7598be24276.tar.gz
rneovim-58bbc2ea0b3dfed13471e8cc0447d7598be24276.tar.bz2
rneovim-58bbc2ea0b3dfed13471e8cc0447d7598be24276.zip
refactor(treesitter): add Range type aliase for Range4|Range6
Diffstat (limited to 'runtime/lua/vim/treesitter/query.lua')
-rw-r--r--runtime/lua/vim/treesitter/query.lua12
1 files changed, 10 insertions, 2 deletions
diff --git a/runtime/lua/vim/treesitter/query.lua b/runtime/lua/vim/treesitter/query.lua
index 70af4f7bce..f4e038b2d8 100644
--- a/runtime/lua/vim/treesitter/query.lua
+++ b/runtime/lua/vim/treesitter/query.lua
@@ -59,10 +59,18 @@ end
---@private
---@param buf integer
----@param range Range6
+---@param range Range
---@returns string
local function buf_range_get_text(buf, range)
local start_row, start_col, end_row, end_col = Range.unpack4(range)
+ if end_col == 0 then
+ if start_row == end_row then
+ start_col = -1
+ start_row = start_row - 1
+ end
+ end_col = -1
+ end_row = end_row - 1
+ end
local lines = a.nvim_buf_get_text(buf, start_row, start_col, end_row, end_col, {})
return table.concat(lines, '\n')
end
@@ -396,7 +404,7 @@ local predicate_handlers = {
predicate_handlers['vim-match?'] = predicate_handlers['match?']
---@class TSMetadata
----@field range Range4|Range6
+---@field range Range
---@field [integer] TSMetadata
---@field [string] integer|string