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
This commit is contained in:
Mathias Fußenegger
2021-02-20 04:20:42 +01:00
committed by GitHub
parent b2fcfc65b7
commit 1caf58578c
2 changed files with 15 additions and 1 deletions

View File

@@ -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