X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/f6f762b6ab4a27d8102a86fc7a700a233fb3bf61..fdd63454b51a35418ec23d3489cf20ae66a2299d:/nvim/lua/plugins/lsp.lua diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index 509841c..d020443 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua @@ -3,45 +3,89 @@ return { { "neovim/nvim-lspconfig", ---@class PluginLspOpts - -- - init = function () + opts = function() local keys = require("lazyvim.plugins.lsp.keymaps").get() - -- TODO: setup a new mapping for this -- { "gr", "Telescope lsp_references", desc = "References" }, keys[#keys+1] = { "gr", false } - end, - opts = { - -- Automatically format on save - -- autoformat = false, - -- LSP Server Settings - ---@type lspconfig.options - servers = { - lua_ls = { - settings = { - Lua = { - diagnostics = { - disable = { "missing-fields", }, + + return { + diagnostics = { + underline = true, + update_in_insert = false, + virtual_text = { + spacing = 4, + source = "if_mani", + prefix = "●", + }, + severity_sort = true, + signs = { + text = { + [vim.diagnostic.severity.ERROR] = " ", + [vim.diagnostic.severity.WARN] = " ", + [vim.diagnostic.severity.HINT] = " ", + [vim.diagnostic.severity.INFO] = " ", + }, + }, + }, + inlay_hints = { enabled = false, }, + codelens = { enabled = false, }, + document_highlight = { enabled = true, }, + capabilities = { + workspace = { + fileOperations = { + didRename = true, + willRename = true, + }, + }, + }, + format = { + formatting_options = nil, + timeout_ms = nil, + }, + -- Automatically format on save + -- autoformat = false, + -- LSP Server Settings + ---@type lspconfig.options + servers = { + lua_ls = { + settings = { + Lua = { + workspace = { checkThirdParty = false, }, + codeLens = { enable = true, }, + completion = { callSnippet = "Replace", }, + doc = { privateName = { "^_" }, }, + hint = { + enable = true, + setType = false, + paramType = true, + paramName = "Disable", + semicolon = "Disable", + arrayIndex = "Disable", + }, + diagnostics = { + disable = { "missing-fields", }, + }, }, }, }, + -- Add clangd extensions + -- https://github.com/p00f/clangd_extensions.nvim }, - -- Add clangd extensions - -- https://github.com/p00f/clangd_extensions.nvim - }, - -- you can do any additional lsp server setup here - -- return true if you don't want this server to be setup with lspconfig - ---@type table - setup = { - -- example to setup with typescript.nvim - -- tsserver = function(_, opts) - -- require("typescript").setup({ server = opts }) - -- return true - -- end, - -- Specify * to use this function as a fallback for any server - -- ["*"] = function(server, opts) end, - }, - }, + -- you can do any additional lsp server setup here + -- return true if you don't want this server to be setup with lspconfig + ---@type table + setup = { + -- example to setup with typescript.nvim + -- tsserver = function(_, opts) + -- require("typescript").setup({ server = opts }) + -- return true + -- end, + -- Specify * to use this function as a fallback for any server + -- ["*"] = function(server, opts) end, + }, + } + end, }, -- cmdline tools and lsp servers