35 lines
812 B
Lua
35 lines
812 B
Lua
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
|