From 7a4ffef931769c3fe7544214ed7ffde5852653f6 Mon Sep 17 00:00:00 2001 From: Andreas Guth <9ordin@gmail.com> Date: Fri, 11 Nov 2022 08:15:29 +0100 Subject: [PATCH] fix(lsp_references): not changing files if only 1 result (#2229) --- lua/telescope/builtin/__lsp.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/lua/telescope/builtin/__lsp.lua b/lua/telescope/builtin/__lsp.lua index ab2cd7d..c23f25c 100644 --- a/lua/telescope/builtin/__lsp.lua +++ b/lua/telescope/builtin/__lsp.lua @@ -48,8 +48,13 @@ lsp.references = function(opts) vim.cmd "vnew" end -- jump to location - vim.api.nvim_win_set_buf(0, opts.bufnr) - vim.api.nvim_win_set_cursor(0, { locations[1].lnum, locations[1].col - 1 }) + local location = locations[1] + local bufnr = opts.bufnr + if location.filename then + bufnr = vim.uri_to_bufnr(vim.uri_from_fname(location.filename)) + end + vim.api.nvim_win_set_buf(0, bufnr) + vim.api.nvim_win_set_cursor(0, { location.lnum, location.col - 1 }) return end