diff options
author | glepnir <glephunter@gmail.com> | 2024-11-22 15:34:49 +0800 |
---|---|---|
committer | Lewis Russell <me@lewisr.dev> | 2024-11-22 10:16:40 +0000 |
commit | 7d8db544417e7811ae6e3c5398e9d0481a0ada22 (patch) | |
tree | 43f8eff7be8b2f04de026711f05a518122aca702 /runtime/lua/vim/lsp/util.lua | |
parent | 6e44a6a289c538c9e05a5114ddb7f91f581e8965 (diff) | |
download | rneovim-7d8db544417e7811ae6e3c5398e9d0481a0ada22.tar.gz rneovim-7d8db544417e7811ae6e3c5398e9d0481a0ada22.tar.bz2 rneovim-7d8db544417e7811ae6e3c5398e9d0481a0ada22.zip |
fix(lsp): delete b:lsp_floating_preview buf var after win close
Problem: After floating preview window closed the buf var still exist
Solution: delete after floating window closed.
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 |