pull_diags.nvim is a plugin to enable pull diagnostics for nvim versions < 0.10.
Pull diagnostics are preferable to push diagnostics because the client (nvim) is able to manage the frequency of code diagnostic requests better than the LSP backend can.
With Lazy.nvim:
{ "catlee/pull_diags.nvim", event = "LspAttach", opts = {} }
The delay between last change to a buffer and request to the LSP backend can be
configured via the timeout
parameter.
e.g.
{ "catlee/pull_diags.nvim", event = "LspAttach", opts = { timeout = 1000 } }