dotfiles/nvim/lua/plugins/lspconfig.lua
2026-03-01 15:37:12 +00:00

90 lines
1.9 KiB
Lua

return {
"neovim/nvim-lspconfig",
event = { "BufReadPre", "BufNewFile" },
dependencies = {
"hrsh7th/cmp-nvim-lsp",
{ "folke/neodev.nvim", opts = {} },
},
config = function()
local on_attach = function(client, bufnr)
if client.server_capabilities.documentFormattingProvider then
vim.api.nvim_create_autocmd("BufWritePre", {
group = vim.api.nvim_create_augroup("Format", { clear = true }),
buffer = bufnr,
callback = function()
vim.lsp.buf.format()
end,
})
end
end
local capabilities = require("cmp_nvim_lsp").default_capabilities()
local servers = {
"ts_ls",
"bashls",
"cssls",
"eslint",
"html",
"jsonls",
"ruff",
"pyright",
"lua_ls",
"yamlls",
"marksman",
"clangd",
}
for _, server in ipairs(servers) do
vim.lsp.config(server, {
capabilities = capabilities,
on_attach = on_attach,
})
vim.lsp.enable(server)
end
end,
}
-- return {
-- "neovim/nvim-lspconfig",
-- event = { "BufReadPre", "BufNewFile" },
-- dependencies = {
-- "hrsh7th/cmp-nvim-lsp",
-- { "folke/neodev.nvim", opts = {} },
-- },
-- config = function()
-- local on_attach = function(client, bufnr)
-- if client.server_capabilities.documentFormattingProvider then
-- vim.api.nvim_create_autocmd("BufWritePre", {
-- group = vim.api.nvim_create_augroup("Format", { clear = true }),
-- buffer = bufnr,
-- callback = function()
-- vim.lsp.buf.format()
-- end,
-- })
-- end
-- end
-- local capabilities = require("cmp_nvim_lsp").default_capabilities()
-- local servers = {
-- "ts_ls",
-- "bashls",
-- "cssls",
-- "eslint",
-- "html",
-- "jsonls",
-- "pyright",
-- "lua_ls",
-- "yamlls",
-- "marksman",
-- }
-- for _, server in ipairs(servers) do
-- require("lspconfig")[server].setup({
-- on_attach = on_attach,
-- capabilities = capabilities,
-- })
-- end
-- end,
-- }