64 lines
1.5 KiB
Lua
64 lines
1.5 KiB
Lua
return {
|
|
{
|
|
"mason-org/mason.nvim",
|
|
event = "LazyFile",
|
|
cmd = "Mason",
|
|
keys = { { "<leader>cm", "<cmd>Mason<cr>", desc = "Mason" } },
|
|
build = ":MasonUpdate",
|
|
opts_extend = { "ensure_installed" },
|
|
opts = {
|
|
ensure_installed = {
|
|
"lua-language-server",
|
|
"bash-language-server",
|
|
"css-variables-language-server",
|
|
"css-lsp",
|
|
"gopls",
|
|
"html-lsp",
|
|
"json-lsp",
|
|
"tailwindcss-language-server",
|
|
"templ",
|
|
},
|
|
},
|
|
},
|
|
{
|
|
"neovim/nvim-lspconfig",
|
|
opts = function(_, opts)
|
|
local capabilities = require("blink-cmp").get_lsp_capabilities(vim.lsp.protocol.make_client_capabilities())
|
|
|
|
-- apply to ALL servers
|
|
opts.servers["*"].capabilities = capabilities
|
|
opts.servers = opts.servers or {}
|
|
|
|
opts.servers.templ = {
|
|
cmd = { "templ", "lsp" },
|
|
filetypes = { "templ" },
|
|
root_dir = require("lspconfig.util").root_pattern("go.work", "go.mod", ".git"),
|
|
capabilities = capabilities,
|
|
}
|
|
opts.servers.html = {
|
|
filetypes = { "html", "templ" },
|
|
capabilities = capabilities,
|
|
}
|
|
opts.servers.tailwindcss = {
|
|
filetypes = {
|
|
"html",
|
|
"templ",
|
|
"javascript",
|
|
"typescript",
|
|
"javascriptreact",
|
|
"typescriptreact",
|
|
},
|
|
capabilities = capabilities,
|
|
}
|
|
end,
|
|
},
|
|
{
|
|
"stevearc/conform.nvim",
|
|
opts = {
|
|
formatters_by_ft = {
|
|
templ = { "templ" },
|
|
},
|
|
},
|
|
},
|
|
}
|