Temporarily disable inlay hints during debugging, fix so virtual text

gets cleared after debugging finishes.
This commit is contained in:
Martin Larsson 2025-01-12 13:34:27 +01:00
parent f2e27f7a59
commit cdfa4fe2d8
3 changed files with 57 additions and 15 deletions

View 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