2026 nvim config
This commit is contained in:
77
lua/plugins/mason.lua
Normal file
77
lua/plugins/mason.lua
Normal file
@@ -0,0 +1,77 @@
|
||||
return {
|
||||
{
|
||||
"mason-org/mason.nvim",
|
||||
build = ":MasonUpdate",
|
||||
cmd = { "Mason", "MasonInstall", "MasonUninstall" },
|
||||
opts = { ui = { border = "rounded" } },
|
||||
},
|
||||
{
|
||||
"mason-org/mason-lspconfig.nvim",
|
||||
event = { "BufReadPre", "BufNewFile" },
|
||||
dependencies = {
|
||||
"mason-org/mason.nvim",
|
||||
"neovim/nvim-lspconfig",
|
||||
"hrsh7th/cmp-nvim-lsp",
|
||||
},
|
||||
opts = {
|
||||
ensure_installed = {
|
||||
"pyright", -- Python
|
||||
"ts_ls", -- TypeScript/JavaScript (was tsserver)
|
||||
"lua_ls", -- Lua
|
||||
"intelephense", -- PHP
|
||||
"html", -- HTML
|
||||
"cssls", -- CSS
|
||||
"jsonls", -- JSON
|
||||
"yamlls", -- YAML
|
||||
"bashls", -- Bash
|
||||
"dockerls", -- Docker
|
||||
"gopls", -- Go
|
||||
"rust_analyzer", -- Rust
|
||||
"jdtls", -- Java
|
||||
"clangd", -- C/C++
|
||||
"omnisharp", -- C#
|
||||
"vimls", -- Vim
|
||||
"elixirls", -- Elixir
|
||||
"kotlin_language_server",
|
||||
"sqlls", -- SQL
|
||||
"lemminx", -- XML
|
||||
"marksman", -- Markdown
|
||||
"svelte", -- Svelte
|
||||
"tailwindcss", -- Tailwind CSS
|
||||
"angularls", -- Angular
|
||||
"vuels", -- Vue.js
|
||||
"powershell_es", -- PowerShell
|
||||
"fortls", -- Fortran
|
||||
},
|
||||
automatic_installation = true,
|
||||
},
|
||||
config = function(_, opts)
|
||||
require("mason").setup({})
|
||||
require("mason-lspconfig").setup(opts)
|
||||
|
||||
local capabilities = require("cmp_nvim_lsp").default_capabilities()
|
||||
|
||||
-- Custom setup example for Lua
|
||||
vim.lsp.config("lua_ls", {
|
||||
capabilities = capabilities,
|
||||
settings = {
|
||||
Lua = {
|
||||
diagnostics = { globals = { "vim" } },
|
||||
workspace = { checkThirdParty = false },
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Generic setup for everything else
|
||||
for _, server in ipairs(opts.ensure_installed or {}) do
|
||||
if server ~= "lua_ls" then
|
||||
vim.lsp.config(server, { capabilities = capabilities })
|
||||
end
|
||||
end
|
||||
|
||||
-- Enable all listed servers
|
||||
vim.lsp.enable(opts.ensure_installed)
|
||||
end,
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user