nvim/lua/plugins/lsp.lua

94 lines
1.7 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
-- :MasonInstall shellcheck black shfmt
ensure_installed = {
"lua_ls",
"clangd",
"bashls",
"ts_ls",
"cssls",
"html",
"tailwindcss",
"pylsp",
},
})
end,
},
{
"neovim/nvim-lspconfig",
lazy = false,
config = function()
--vim.diagnostic.config({ virtual_lines = true })
--vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled())
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,
},
{
"mfussenegger/nvim-jdtls",
config = function()
vim.lsp.config("jdtls", {
settings = {
java = {
-- Custom eclipse.jdt.ls options go here
},
},
})
vim.lsp.enable("jdtls")
end
}
}