mirror of
https://github.com/neovim/neovim.git
synced 2025-12-15 19:05:40 +00:00
fix(api): only flush nvim__redraw when necessary #31250
Problem: Not possible to only set a "redraw later" type with
nvim__redraw, which seems to be desired for the
treesitter highlighter.
Solution: Do not update the screen when "flush" is explicitly set to
false and only redraw later types are present. In that case,
do not call ui_flush() either.
This commit is contained in:
@@ -65,7 +65,7 @@ function M.on_inlayhint(err, result, ctx)
|
||||
if num_unprocessed == 0 then
|
||||
client_hints[client_id] = {}
|
||||
bufstate.version = ctx.version
|
||||
api.nvim__redraw({ buf = bufnr, valid = true })
|
||||
api.nvim__redraw({ buf = bufnr, valid = true, flush = false })
|
||||
return
|
||||
end
|
||||
|
||||
@@ -81,7 +81,7 @@ function M.on_inlayhint(err, result, ctx)
|
||||
|
||||
client_hints[client_id] = new_lnum_hints
|
||||
bufstate.version = ctx.version
|
||||
api.nvim__redraw({ buf = bufnr, valid = true })
|
||||
api.nvim__redraw({ buf = bufnr, valid = true, flush = false })
|
||||
end
|
||||
|
||||
--- |lsp-handler| for the method `workspace/inlayHint/refresh`
|
||||
@@ -215,7 +215,7 @@ local function clear(bufnr)
|
||||
end
|
||||
end
|
||||
api.nvim_buf_clear_namespace(bufnr, namespace, 0, -1)
|
||||
api.nvim__redraw({ buf = bufnr, valid = true })
|
||||
api.nvim__redraw({ buf = bufnr, valid = true, flush = false })
|
||||
end
|
||||
|
||||
--- Disable inlay hints for a buffer
|
||||
|
||||
Reference in New Issue
Block a user