aboutsummaryrefslogtreecommitdiff
path: root/runtime/lua/vim/lsp.lua
diff options
context:
space:
mode:
authorGregory Anders <greg@gpanders.com>2021-07-29 10:02:17 -0600
committerGitHub <noreply@github.com>2021-07-29 09:02:17 -0700
commit3521bf7672d2a33e60e2656043374a1584a0285b (patch)
tree6e74294ae74832293154d7ef15e135d6a33a37e1 /runtime/lua/vim/lsp.lua
parent3b6d95b5f6376aead758bd67a9279d0f991e4d45 (diff)
downloadrneovim-3521bf7672d2a33e60e2656043374a1584a0285b.tar.gz
rneovim-3521bf7672d2a33e60e2656043374a1584a0285b.tar.bz2
rneovim-3521bf7672d2a33e60e2656043374a1584a0285b.zip
feat(lsp): implement vim.lsp.diagnostic.redraw() (#15203)
Add a new function to redraw diagnostics from the current diagnostic cache, without receiving a "publishDiagnostics" message from the server. This is already being done in two places in the Lua stdlib, so this function unifies that functionality in addition to providing it to third party plugins. An example use case for this could be a command or key-binding for toggling diagnostics virtual text. The virtual text configuration option can be toggled using `vim.lsp.with` followed by `vim.lsp.diagnostic.redraw()` to immediately redraw the diagnostics with the updated setting.
Diffstat (limited to 'runtime/lua/vim/lsp.lua')
-rw-r--r--runtime/lua/vim/lsp.lua10
1 files changed, 1 insertions, 9 deletions
diff --git a/runtime/lua/vim/lsp.lua b/runtime/lua/vim/lsp.lua
index f5aefc8260..87ecc3eeea 100644
--- a/runtime/lua/vim/lsp.lua
+++ b/runtime/lua/vim/lsp.lua
@@ -453,15 +453,7 @@ local function text_document_did_open_handler(bufnr, client)
-- Next chance we get, we should re-do the diagnostics
vim.schedule(function()
- vim.lsp.handlers["textDocument/publishDiagnostics"](
- nil,
- "textDocument/publishDiagnostics",
- {
- diagnostics = vim.lsp.diagnostic.get(bufnr, client.id),
- uri = vim.uri_from_bufnr(bufnr),
- },
- client.id
- )
+ vim.lsp.diagnostic.redraw(bufnr, client.id)
end)
end