X-Git-Url: https://git.rmz.io/dotfiles.git/blobdiff_plain/d904f57127bdcc3ea9a6deec3e12e7e1430cb188..e081ae2be04bf7224eadc202f3b9e821d65a440b:/nvim/lua/plugins/lsp.lua diff --git a/nvim/lua/plugins/lsp.lua b/nvim/lua/plugins/lsp.lua index cfb909a..509841c 100644 --- a/nvim/lua/plugins/lsp.lua +++ b/nvim/lua/plugins/lsp.lua @@ -28,25 +28,6 @@ return { }, -- 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 @@ -62,4 +43,37 @@ return { }, }, }, + + -- cmdline tools and lsp servers + { + + "williamboman/mason.nvim", + cmd = "Mason", + keys = { { "cm", "Mason", desc = "Mason" } }, + opts = { + ensure_installed = { + "stylua", + "shfmt", + -- "flake8", + }, + }, + ---@param opts MasonSettings | {ensure_installed: string[]} + config = function(_, opts) + require("mason").setup(opts) + local mr = require("mason-registry") + local function ensure_installed() + for _, tool in ipairs(opts.ensure_installed) do + local p = mr.get_package(tool) + if not p:is_installed() then + p:install() + end + end + end + if mr.refresh then + mr.refresh(ensure_installed) + else + ensure_installed() + end + end, + }, }