diff options
Diffstat (limited to 'runtime/lua/vim/lsp')
-rw-r--r-- | runtime/lua/vim/lsp/diagnostic.lua | 11 | ||||
-rw-r--r-- | runtime/lua/vim/lsp/util.lua | 1 |
2 files changed, 7 insertions, 5 deletions
diff --git a/runtime/lua/vim/lsp/diagnostic.lua b/runtime/lua/vim/lsp/diagnostic.lua index 1570d4a122..27a1f53f89 100644 --- a/runtime/lua/vim/lsp/diagnostic.lua +++ b/runtime/lua/vim/lsp/diagnostic.lua @@ -308,15 +308,16 @@ end --- Get all diagnostics for all clients --- ----@return Diagnostic[] +---@return {bufnr: Diagnostic[]} function M.get_all() - local all_diagnostics = {} - for _, buf_diagnostics in pairs(diagnostic_cache) do + local diagnostics_by_bufnr = {} + for bufnr, buf_diagnostics in pairs(diagnostic_cache) do + diagnostics_by_bufnr[bufnr] = {} for _, client_diagnostics in pairs(buf_diagnostics) do - vim.list_extend(all_diagnostics, client_diagnostics) + vim.list_extend(diagnostics_by_bufnr[bufnr], client_diagnostics) end end - return all_diagnostics + return diagnostics_by_bufnr end --- Return associated diagnostics for bufnr diff --git a/runtime/lua/vim/lsp/util.lua b/runtime/lua/vim/lsp/util.lua index f78a36fda2..5804ac6656 100644 --- a/runtime/lua/vim/lsp/util.lua +++ b/runtime/lua/vim/lsp/util.lua @@ -957,6 +957,7 @@ function M.open_floating_preview(contents, filetype, opts) end api.nvim_buf_set_lines(floating_bufnr, 0, -1, true, contents) api.nvim_buf_set_option(floating_bufnr, 'modifiable', false) + api.nvim_buf_set_option(floating_bufnr, 'bufhidden', 'wipe') M.close_preview_autocmd({"CursorMoved", "CursorMovedI", "BufHidden", "BufLeave"}, floating_winnr) return floating_bufnr, floating_winnr end |