diff --git a/lua/lazyvim/config/keymaps.lua b/lua/lazyvim/config/keymaps.lua index c5f70016..1e91a98a 100644 --- a/lua/lazyvim/config/keymaps.lua +++ b/lua/lazyvim/config/keymaps.lua @@ -120,7 +120,7 @@ map("n", "ud", function() Util.toggle.diagnostics() end, { desc = "Toggl local conceallevel = vim.o.conceallevel > 0 and vim.o.conceallevel or 3 map("n", "uc", function() Util.toggle("conceallevel", false, {0, conceallevel}) end, { desc = "Toggle Conceal" }) if vim.lsp.inlay_hint then - map("n", "uh", function() vim.lsp.inlay_hint(0, nil) end, { desc = "Toggle Inlay Hints" }) + map( "n", "uh", function() Util.lsp.toggle_inline_hint() end, { desc = "Toggle Inlay Hints" }) end map("n", "uT", function() if vim.b.ts_highlight then vim.treesitter.stop() else vim.treesitter.start() end end, { desc = "Toggle Treesitter Highlight" }) diff --git a/lua/lazyvim/util/lsp.lua b/lua/lazyvim/util/lsp.lua index b34a2afe..4d0941f7 100644 --- a/lua/lazyvim/util/lsp.lua +++ b/lua/lazyvim/util/lsp.lua @@ -122,4 +122,18 @@ function M.format(opts) end end +---@param bufnr? number +function M.toggle_inline_hint(bufnr) + bufnr = bufnr or 0 + if vim.fn.has("nvim-0.10") then + if vim.lsp.inlay_hint.is_enabled() then + vim.lsp.inlay_hint.enable(bufnr, false) + else + vim.lsp.inlay_hint.enable(bufnr, true) + end + else + vim.lsp.inlay_hint(bufnr, nil) + end +end + return M