diff --git a/lua/lsp_setup.lua b/lua/lsp_setup.lua new file mode 100644 index 0000000..9c516f3 --- /dev/null +++ b/lua/lsp_setup.lua @@ -0,0 +1,51 @@ +-- 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" }, + }, + }, + }, +}