diff options
author | kevinhwang91 <kevin.hwang@live.com> | 2022-02-11 14:42:23 +0800 |
---|---|---|
committer | kevinhwang91 <kevin.hwang@live.com> | 2022-02-11 14:44:37 +0800 |
commit | afcf64479c1aa5ea53286853370082507f2721f7 (patch) | |
tree | d27e1e3227c56d73ca0c05e1f269b2b6db60adc4 /runtime/lua/vim/treesitter/query.lua | |
parent | 851252f79ddaaca5456b287342cd36130c76ff38 (diff) | |
download | rneovim-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.lua | 12 |
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") |