diff options
Diffstat (limited to 'runtime/lua/vim/lsp/util.lua')
-rw-r--r-- | runtime/lua/vim/lsp/util.lua | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua index cfa8a194d9..24837c3b44 100644 --- a/runtime/lua/vim/lsp/util.lua +++ b/runtime/lua/vim/lsp/util.lua @@ -1344,6 +1344,10 @@ local function close_preview_window(winnr, bufnrs) local augroup = 'preview_window_' .. winnr pcall(api.nvim_del_augroup_by_name, augroup) + local buf = vim.w[winnr].buf_hold_win + if buf and api.nvim_buf_is_valid(buf) then + vim.b[buf].lsp_floating_window = nil + end pcall(api.nvim_win_close, winnr, true) end) end @@ -1609,6 +1613,7 @@ function M.open_floating_preview(contents, syntax, opts) { silent = true, noremap = true, nowait = true } ) close_preview_autocmd(opts.close_events, floating_winnr, { floating_bufnr, bufnr }) + vim.w[floating_winnr].buf_hold_win = bufnr -- save focus_id if opts.focus_id then |