dotfiles/nvim/lua/plugins/lspconfig.lua

91 lines
1.9 KiB
Lua
Raw Normal View History

2024-10-27 16:21:40 +00:00
return {
2024-10-28 14:00:13 +00:00
"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
2024-10-27 16:21:40 +00:00
2024-10-28 14:00:13 +00:00
local capabilities = require("cmp_nvim_lsp").default_capabilities()
2024-10-27 16:21:40 +00:00
2025-10-01 14:58:55 +01:00
local servers = {
"ts_ls",
"bashls",
"cssls",
"eslint",
"html",
"jsonls",
2026-03-01 15:37:12 +00:00
"ruff",
2025-10-01 14:58:55 +01:00
"pyright",
"lua_ls",
"yamlls",
"marksman",
2026-03-01 15:37:12 +00:00
"clangd",
2025-10-01 14:58:55 +01:00
}
for _, server in ipairs(servers) do
2026-03-01 15:37:12 +00:00
vim.lsp.config(server, {
2025-10-01 14:58:55 +01:00
capabilities = capabilities,
2026-03-01 15:37:12 +00:00
on_attach = on_attach,
2025-10-01 14:58:55 +01:00
})
2026-03-01 15:37:12 +00:00
vim.lsp.enable(server)
2025-10-01 14:58:55 +01:00
end
2024-10-28 14:00:13 +00:00
end,
2024-10-27 16:21:40 +00:00
}
2025-10-01 14:58:55 +01:00
-- 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()
2026-03-01 15:37:12 +00:00
-- local servers = {
-- "ts_ls",
-- "bashls",
-- "cssls",
-- "eslint",
-- "html",
-- "jsonls",
-- "pyright",
-- "lua_ls",
-- "yamlls",
-- "marksman",
-- }
-- for _, server in ipairs(servers) do
2025-10-01 14:58:55 +01:00
-- require("lspconfig")[server].setup({
-- on_attach = on_attach,
-- capabilities = capabilities,
-- })
-- end
-- end,
-- }