diff options
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/config/lsp.lua | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lua/config/lsp.lua b/lua/config/lsp.lua index b5fab6a..6273231 100644 --- a/lua/config/lsp.lua +++ b/lua/config/lsp.lua @@ -31,7 +31,19 @@ local custom_attach = function(client, bufnr) source = 'always', -- show source in diagnostic popup window prefix = ' ' } - vim.diagnostic.open_float(nil, opts) + + if not vim.b.diagnostics_pos then + vim.b.diagnostics_pos = { nil, nil } + end + + local cursor_pos = vim.api.nvim_win_get_cursor(0) + if (cursor_pos[1] ~= vim.b.diagnostics_pos[1] or cursor_pos[2] ~= vim.b.diagnostics_pos[2]) and + #vim.diagnostic.get() > 0 + then + vim.diagnostic.open_float(nil, opts) + end + + vim.b.diagnostics_pos = cursor_pos end }) |
