ajs-nvim/lua/lsp_setup.lua

52 lines
1.2 KiB
Lua
Raw Normal View History

2024-03-12 23:23:05 +00:00
-- enable mason and configure icons
require("mason").setup({
ui = {
icons = {
package_installed = "",
package_pending = "",
package_uninstalled = "",
},
},
})
require("mason-tool-installer").setup({
ensure_installed = {
"prettier", -- prettier formatter
-- "stylua", -- lua formatter
"isort", -- python formatter
"black", -- python formatter
"pylint", -- python linter
"eslint_d", -- js linter
},
})
--#################################################################################
--##### THESE ARE THE LANGUAGE SERVERS WE WANT
--#################################################################################
local lsps_for_install = { "eslint", "html", "cssls", "bashls", "grammarly" }
--make this table 2d to add configs
local mason_lspconfig = require("mason-lspconfig")
mason_lspconfig.setup {
ensure_installed = lsps_for_install
}
local lspconfig = require("lspconfig")
local lsp_capabilities = require("cmp_nvim_lsp").default_capabilities()
for _, lsp in pairs(lsps_for_install) do
lspconfig[lsp].setup {
capabilities = lsp_capabilities,
}
end
lspconfig.lua_ls.setup {
capabilities = lsp_capabilities,
settings = {
Lua = {
diagnostics = {
globals = { "vim" },
},
},
},
}