nvim/lua/plugins/lsp.lua

75 lines
1.4 KiB
Lua

return {
{
"mason-org/mason.nvim",
dependencies = {
"mason-org/mason-lspconfig.nvim",
},
opts = function()
require("mason").setup()
require("mason-lspconfig").setup({
-- Ensure the install of these language servers
ensure_installed = {
"lua_ls",
"clangd",
"bashls",
"ts_ls",
"cssls",
"html",
"tailwindcss",
"pylsp",
},
})
end,
},
{
"neovim/nvim-lspconfig",
lazy = false,
config = function()
local caps = vim.lsp.protocol.make_client_capabilities()
local capabilities = require("blink.cmp").get_lsp_capabilities(caps)
capabilities.textDocument.completion.completionItem.snippetSupport = true
vim.lsp.config("*", {
capabilities = capabilities,
})
vim.lsp.config("lua_ls", {
settings = {
Lua = {
diagnostics = {
globals = { "vim" },
},
},
},
})
vim.lsp.config("ts_ls", {
init_options = { preferences = { disableSuggestions = false } },
})
vim.lsp.enable({
"lua_ls",
"clangd",
"bashls",
"ts_ls",
"cssls",
"html",
"tailwindcss",
"pylsp",
})
end,
},
{
"esmuellert/nvim-eslint",
config = function()
require("nvim-eslint").setup({
settings = {
workingDirectory = function(bufnr)
return { directory = vim.fs.root(bufnr, { "package.json" }) }
end,
},
})
end,
},
}