local nvim_0_10 = vim.fn.has("nvim-0.10") return { { "neovim/nvim-lspconfig", init = function() local keys = require("lazyvim.plugins.lsp.keymaps").get() keys[#keys + 1] = { "cl", false } keys[#keys + 1] = { "cil", "LspInfo", desc = "Lsp" } keys[#keys + 1] = { "clr", "LspRestart", desc = "Restart Lsp" } keys[#keys + 1] = { "cls", "LspStart", desc = "Start Lsp" } keys[#keys + 1] = { "clS", "LspStop", desc = "Stop Lsp" } -- stylua: ignore start keys[#keys + 1] = { "clr", function() vim.lsp.buf.remove_workspace_folder() end, desc = "Remove workspace" } keys[#keys + 1] = { "cla", function() vim.lsp.buf.add_workspace_folder() end, desc = "Add workspace" } -- stylua: ignore end end, opts = { diagnostics = { virtual_text = { float = { border = { { "┌", "FloatBorder" }, { "─", "FloatBorder" }, { "┐", "FloatBorder" }, { "│", "FloatBorder" }, { "┘", "FloatBorder" }, { "─", "FloatBorder" }, { "└", "FloatBorder" }, { "│", "FloatBorder" }, }, }, }, }, inlay_hints = { enabled = nvim_0_10, }, codelens = { enabled = false, }, servers = { lua_ls = { settings = { Lua = { hint = { enable = nvim_0_10, setType = nvim_0_10, }, }, }, }, }, }, }, { "folke/which-key.nvim", opts = { defaults = { ["cL"] = { name = "lsp" }, }, }, }, }