neovim

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

commit 0501c5fd0959895b18d8166c6c034cdf1832edf3
parent 1355640d6a19fabc1e74d79b0bd49acf90253445
Author: Maria Solano <majosolano99@gmail.com>
Date:   Sun,  1 Feb 2026 04:18:16 -0800

fix(lsp): call `on_list` before reading `loclist` #37645

Problem:
`on_list` is supposed to replace the default list-handler. With the current order of these `if` statements `on_list` won't be called if `loclist` is true.

Solution:
Change the order of the relevant blocks.
Diffstat:
Mruntime/lua/vim/lsp/buf.lua | 8++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/runtime/lua/vim/lsp/buf.lua b/runtime/lua/vim/lsp/buf.lua @@ -870,12 +870,12 @@ function M.references(context, opts) bufnr = bufnr, }, } - if opts.loclist then - vim.fn.setloclist(0, {}, ' ', list) - vim.cmd.lopen() - elseif opts.on_list then + if opts.on_list then assert(vim.is_callable(opts.on_list), 'on_list is not a function') opts.on_list(list) + elseif opts.loclist then + vim.fn.setloclist(0, {}, ' ', list) + vim.cmd.lopen() else vim.fn.setqflist({}, ' ', list) vim.cmd('botright copen')