From 6f695cee9f138e075e82883dfa725eba2ef23406 Mon Sep 17 00:00:00 2001 From: Martin Larsson Date: Sat, 11 Apr 2026 14:55:35 +0200 Subject: [PATCH] fix: lsp references now work --- nvim/lua/lspsetup.lua | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/nvim/lua/lspsetup.lua b/nvim/lua/lspsetup.lua index b21a6f5..3ec96c4 100644 --- a/nvim/lua/lspsetup.lua +++ b/nvim/lua/lspsetup.lua @@ -20,8 +20,8 @@ for name, type in vim.fs.dir(lsp_dir) do end local lsp_pick_ns = vim.api.nvim_create_namespace("lsp_pick") -local function lsp_pick(scope) - vim.lsp.buf[scope]({ +local function lsp_pick(fn) + local opts = { on_list = function(options) if #options.items == 1 then local item = options.items[1] @@ -51,7 +51,7 @@ local function lsp_pick(scope) end MiniPick.start({ source = { - name = string.format("LSP (%s)", scope), + name = "LSP", items = options.items, show = function(buf_id, items_to_show, query) MiniPick.default_show(buf_id, items_to_show, query) @@ -74,7 +74,8 @@ local function lsp_pick(scope) }, }) end, - }) + } + fn(opts) end vim.lsp.enable(servers) @@ -100,11 +101,11 @@ vim.api.nvim_create_autocmd("LspAttach", { n = { { "K", function() vim.lsp.buf.hover() end, { buf = bufnr } }, { "a", function() vim.lsp.buf.code_action() end, { buf = bufnr } }, - { "gd", function() lsp_pick("definition") end, { buf = bufnr } }, - { "gD", function() lsp_pick("declaration") end, { buf = bufnr } }, - { "gr", function() lsp_pick("references") end, { buf = bufnr, nowait = true } }, - { "gi", function() lsp_pick("implementation") end, { buf = bufnr } }, - { "gt", function() lsp_pick("type_definition") end, { buf = bufnr } }, + { "gd", function() lsp_pick(vim.lsp.buf.definition) end, { buf = bufnr } }, + { "gD", function() lsp_pick(vim.lsp.buf.declaration) end, { buf = bufnr } }, + { "gr", function() lsp_pick(function(opts) vim.lsp.buf.references(nil, opts) end) end, { buf = bufnr, nowait = true } }, + { "gi", function() lsp_pick(vim.lsp.buf.implementation) end, { buf = bufnr } }, + { "gt", function() lsp_pick(vim.lsp.buf.type_definition) end, { buf = bufnr } }, }, i = { { "", function() vim.lsp.buf.signature_help() end, { buf = bufnr } },