2026 nvim config

This commit is contained in:
Will
2026-03-29 20:12:58 +01:00
commit 22e52c883a
17 changed files with 386 additions and 0 deletions

77
lua/plugins/mason.lua Normal file
View 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,
}
}