aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp/util.lua
diff options
context:
space:
mode:
authorMathias Fußenegger <mfussenegger@users.noreply.github.com>2021-02-20 04:20:42 +0100
committerGitHub <noreply@github.com>2021-02-19 22:20:42 -0500
commit1caf58578c6e4b30c18fa56804dd905b5472b460 (patch)
tree918cd3895cae191da2ed50c6114b0dfa4c8ffb8c /runtime/lua/vim/lsp/util.lua
parentb2fcfc65b7181cfb519ce1f827cb62f1120de5a0 (diff)
downloadrneovim-1caf58578c6e4b30c18fa56804dd905b5472b460.tar.gz
rneovim-1caf58578c6e4b30c18fa56804dd905b5472b460.tar.bz2
rneovim-1caf58578c6e4b30c18fa56804dd905b5472b460.zip
lsp: Fix text edits operating on the last line of a document (#13677)
`lines` can be empty, in which case `#lines[#lines]` failed with an error: lsp/util.lua:214: attempt to get length of a nil value
Diffstat (limited to 'runtime/lua/vim/lsp/util.lua')
-rw-r--r--runtime/lua/vim/lsp/util.lua2
1 files changed, 1 insertions, 1 deletions
diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua
index 00bdeecef3..9c5e8ec8c3 100644
--- a/runtime/lua/vim/lsp/util.lua
+++ b/runtime/lua/vim/lsp/util.lua
@@ -211,7 +211,7 @@ function M.apply_text_edits(text_edits, bufnr)
local lines = api.nvim_buf_get_lines(bufnr, start_line, finish_line + 1, false)
local fix_eol = api.nvim_buf_get_option(bufnr, 'fixeol')
local set_eol = fix_eol and api.nvim_buf_line_count(bufnr) <= finish_line + 1
- if set_eol and #lines[#lines] ~= 0 then
+ if set_eol and (#lines == 0 or #lines[#lines] ~= 0) then
table.insert(lines, '')
end