From c5f293d5e2bf2a718ff7c021e42000c8f8b16792 Mon Sep 17 00:00:00 2001 From: Fernando Schauenburg Date: Thu, 26 Jun 2025 21:50:04 +0200 Subject: [PATCH] nvim: add key binding to toggle LSP inlay hints --- .../nvim/lua/fschauen/plugins/lspconfig.lua | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/config/nvim/lua/fschauen/plugins/lspconfig.lua b/config/nvim/lua/fschauen/plugins/lspconfig.lua index d2cc8b6..404c09d 100644 --- a/config/nvim/lua/fschauen/plugins/lspconfig.lua +++ b/config/nvim/lua/fschauen/plugins/lspconfig.lua @@ -27,21 +27,26 @@ return { vim.api.nvim_create_autocmd("LspAttach", { callback = function(args) + local toggle_inlay_hints = function() + vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled()) + end + local rounded = function(action) return function() action { border = "rounded" } end end -- stylua: ignore start - vim.keymap.set("n", "c", vim.lsp.buf.code_action, { buffer = 0 } ) - vim.keymap.set("n", "f", vim.lsp.buf.format, { buffer = 0 } ) - vim.keymap.set("n", "gd", vim.lsp.buf.definition, { buffer = 0 } ) - vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { buffer = 0 } ) - vim.keymap.set("n", "gi", vim.lsp.buf.implementation, { buffer = 0 } ) - vim.keymap.set("n", "grr", vim.lsp.buf.rename, { buffer = 0 } ) - vim.keymap.set("n", "gt", vim.lsp.buf.type_definition, { buffer = 0 } ) - vim.keymap.set("n", "gs", rounded(vim.lsp.buf.signature_help), { buffer = 0 } ) - vim.keymap.set("i", "", rounded(vim.lsp.buf.signature_help), { buffer = 0 } ) - vim.keymap.set("n", "K", rounded(vim.lsp.buf.hover), { buffer = 0 } ) + vim.keymap.set("n", "sh", toggle_inlay_hints, { buffer = 0 }) + vim.keymap.set("n", "c", vim.lsp.buf.code_action, { buffer = 0 } ) + vim.keymap.set("n", "f", vim.lsp.buf.format, { buffer = 0 } ) + vim.keymap.set("n", "gd", vim.lsp.buf.definition, { buffer = 0 } ) + vim.keymap.set("n", "gD", vim.lsp.buf.declaration, { buffer = 0 } ) + vim.keymap.set("n", "gi", vim.lsp.buf.implementation, { buffer = 0 } ) + vim.keymap.set("n", "grr", vim.lsp.buf.rename, { buffer = 0 } ) + vim.keymap.set("n", "gt", vim.lsp.buf.type_definition, { buffer = 0 } ) + vim.keymap.set("n", "gs", rounded(vim.lsp.buf.signature_help), { buffer = 0 } ) + vim.keymap.set("i", "", rounded(vim.lsp.buf.signature_help), { buffer = 0 } ) + vim.keymap.set("n", "K", rounded(vim.lsp.buf.hover), { buffer = 0 } ) -- stylua: ignore end -- Opt out of semantic highlighting because it has been causing issues