neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

commit 50f006b61774311e67e6948cd863bd503e4bcdfb
parent 7335988ce6a5f41a8405462c6c4c90a54d3e588c
Author: Justin M. Keyes <justinkz@gmail.com>
Date:   Mon,  7 Oct 2024 08:25:13 -0700

fix(lsp): tagfunc fails in unusual buffer #30700

Problem:
tagfunc failed in a weird buffer (either a directory or some other
non-file buffer, I don't remember):

    E987: Invalid return value from tagfunc
    E5108: Error executing lua …/runtime/lua/vim/lsp/util.lua:311: EISDIR: illegal operation on a directory
    stack traceback:

at this line:

    local data = assert(uv.fs_read(fd, stat.size, 0))

Solution:
Check for directory.
Diffstat:
Mruntime/lua/vim/lsp/util.lua | 3+++
1 file changed, 3 insertions(+), 0 deletions(-)

diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua @@ -296,6 +296,9 @@ local function get_lines(bufnr, rows) end local filename = api.nvim_buf_get_name(bufnr) + if vim.fn.isdirectory(filename) ~= 0 then + return {} + end -- get the data from the file local fd = uv.fs_open(filename, 'r', 438)