From 8a24b61aeda3877a99be071abe3cf17f9b342545 Mon Sep 17 00:00:00 2001 From: Gary Murray Date: Thu, 16 Nov 2023 08:50:02 -0700 Subject: [PATCH] Add lsp util for inlay-hints and update keymap --- lua/lazyvim/config/keymaps.lua | 2 +- lua/lazyvim/util/lsp.lua | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) 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