From 0a2ebd679bcbeb7ba6812cc4e58e75e959817dfe Mon Sep 17 00:00:00 2001 From: Samir Benmendil Date: Sun, 17 Dec 2023 17:15:19 +0000 Subject: [PATCH] nvim: configure lsp servers (pylsp, ruff_lsp, lua_ls) --- nvim/lua/plugins/lsp.lua | 52 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index 7fd0274..cfb909a 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua @@ -11,5 +11,55 @@ return { -- { "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", }, + }, + }, + }, + }, + -- Add clangd extensions + -- https://github.com/p00f/clangd_extensions.nvim + ruff_lsp = { + root_dir = function(fname) + return require("lspconfig.util").root_pattern("pyproject.toml", "setup.cfg", "ruff.toml")(fname) + end, + }, + pylsp = { + settings = { + pylsp = { + plugins = { + autopep8 = { enabled = false }, + flake8 = { enabled = false }, + mccabe = { enabled = false }, + pycodestyle = { enabled = false }, + pydocstyle = { enabled = false }, + pyflakes = { enabled = false }, -- covered by flake8 + } + } + } + } + }, + -- 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, + }, + }, + }, } -- 2.48.1