aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/treesitter/query.lua
diff options
context:
space:
mode:
authorkevinhwang91 <kevin.hwang@live.com>2022-02-11 14:42:23 +0800
committerkevinhwang91 <kevin.hwang@live.com>2022-02-11 14:44:37 +0800
commitafcf64479c1aa5ea53286853370082507f2721f7 (patch)
treed27e1e3227c56d73ca0c05e1f269b2b6db60adc4 /runtime/lua/vim/treesitter/query.lua
parent851252f79ddaaca5456b287342cd36130c76ff38 (diff)
downloadrneovim-afcf64479c1aa5ea53286853370082507f2721f7.tar.gz
rneovim-afcf64479c1aa5ea53286853370082507f2721f7.tar.bz2
rneovim-afcf64479c1aa5ea53286853370082507f2721f7.zip
fix(query.lua): check empty table for lines
The range of node may make `nvim_buf_get_lines` return an empty table.
Diffstat (limited to 'runtime/lua/vim/treesitter/query.lua')
-rw-r--r--runtime/lua/vim/treesitter/query.lua12
1 files changed, 7 insertions, 5 deletions
diff --git a/runtime/lua/vim/treesitter/query.lua b/runtime/lua/vim/treesitter/query.lua
index b3036ea679..14940332d6 100644
--- a/runtime/lua/vim/treesitter/query.lua
+++ b/runtime/lua/vim/treesitter/query.lua
@@ -199,11 +199,13 @@ function M.get_node_text(node, source)
lines = a.nvim_buf_get_lines(source, start_row, end_row + 1, true)
end
- if #lines == 1 then
- lines[1] = string.sub(lines[1], start_col+1, end_col)
- else
- lines[1] = string.sub(lines[1], start_col+1)
- lines[#lines] = string.sub(lines[#lines], 1, end_col)
+ if #lines > 0 then
+ if #lines == 1 then
+ lines[1] = string.sub(lines[1], start_col+1, end_col)
+ else
+ lines[1] = string.sub(lines[1], start_col+1)
+ lines[#lines] = string.sub(lines[#lines], 1, end_col)
+ end
end
return table.concat(lines, "\n")