return { { "neovim/nvim-lspconfig", init = function() local keys = require("lazyvim.plugins.lsp.keymaps").get() -- keys[#keys + 1] = { "gd", "Glance definitions", desc = "Goto definition" } keys[#keys + 1] = { "gr", "Glance references", desc = "References" } keys[#keys + 1] = { "gy", "Glance type_definitions", desc = "Goto t[y]pe definitions" } keys[#keys + 1] = { "gI", "Glance implementations", desc = "Goto implementations" } keys[#keys + 1] = { "ca", require("actions-preview").code_actions, desc = "Code Action Preview" } end, opts = { -- options for vim.diagnostic.config() diagnostics = { virtual_text = { float = { border = { { "┌", "FloatBorder" }, { "─", "FloatBorder" }, { "┐", "FloatBorder" }, { "│", "FloatBorder" }, { "┘", "FloatBorder" }, { "─", "FloatBorder" }, { "└", "FloatBorder" }, { "│", "FloatBorder" }, }, }, }, }, inlay_hints = { enabled = true, }, servers = { tsserver = { init_options = { preferences = { disableSuggestions = true, }, }, settings = { typescript = { format = { indentSize = vim.o.shiftwidth, convertTabsToSpaces = vim.o.expandtab, tabSize = vim.o.tabstop, }, inlayHints = { includeInlayParameterNameHints = "all", includeInlayParameterNameHintsWhenArgumentMatchesName = false, includeInlayFunctionParameterTypeHints = true, includeInlayVariableTypeHints = false, includeInlayVariableTypeHintsWhenTypeMatchesName = false, includeInlayPropertyDeclarationTypeHints = true, includeInlayFunctionLikeReturnTypeHints = true, includeInlayEnumMemberValueHints = true, }, }, javascript = { format = { indentSize = vim.o.shiftwidth, convertTabsToSpaces = vim.o.expandtab, tabSize = vim.o.tabstop, }, inlayHints = { includeInlayParameterNameHints = "all", includeInlayParameterNameHintsWhenArgumentMatchesName = false, includeInlayFunctionParameterTypeHints = true, includeInlayVariableTypeHints = false, includeInlayVariableTypeHintsWhenTypeMatchesName = false, includeInlayPropertyDeclarationTypeHints = true, includeInlayFunctionLikeReturnTypeHints = true, includeInlayEnumMemberValueHints = true, }, }, completions = { completeFunctionCalls = true, }, }, }, }, }, }, }