Temporarily disable inlay hints during debugging, fix so virtual text
gets cleared after debugging finishes.
This commit is contained in:
parent
f2e27f7a59
commit
cdfa4fe2d8
3 changed files with 57 additions and 15 deletions
35
home/.config/nvim/lua/inlay_hints_handler.lua
Normal file
35
home/.config/nvim/lua/inlay_hints_handler.lua
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
local M = {}
|
||||
|
||||
M.hints_active = true
|
||||
M.buffers = {}
|
||||
|
||||
function M.add_buffer(bufnr)
|
||||
table.insert(M.buffers, bufnr)
|
||||
|
||||
vim.lsp.inlay_hint.enable(M.hints_active, { bufnr = bufnr })
|
||||
vim.api.nvim_create_autocmd({ "BufDelete", "BufUnload" }, {
|
||||
buffer = bufnr,
|
||||
callback = function()
|
||||
for i, buffer in ipairs(M.buffers) do
|
||||
if buffer == bufnr then
|
||||
table.remove(M.buffers, i)
|
||||
break
|
||||
end
|
||||
end
|
||||
end,
|
||||
})
|
||||
end
|
||||
|
||||
function M.disable()
|
||||
for _, bufnr in ipairs(M.buffers) do
|
||||
vim.lsp.inlay_hint.enable(false, { bufnr = bufnr })
|
||||
end
|
||||
end
|
||||
|
||||
function M.restore()
|
||||
for _, bufnr in ipairs(M.buffers) do
|
||||
vim.lsp.inlay_hint.enable(M.hints_active, { bufnr = bufnr })
|
||||
end
|
||||
end
|
||||
|
||||
return M
|
||||
Loading…
Add table
Add a link
Reference in a new issue