From 7bb0dadf81df800465d2b74aa22aa27e400e76aa Mon Sep 17 00:00:00 2001 From: Squibid Date: Sat, 9 Mar 2024 00:19:34 -0500 Subject: call mason in a safer way, and initalize servers better --- after/plugin/lsp.lua | 25 ++++++++++++++++++++----- 1 file changed, 20 insertions(+), 5 deletions(-) (limited to 'after/plugin') diff --git a/after/plugin/lsp.lua b/after/plugin/lsp.lua index da1a9c8..f037eb9 100644 --- a/after/plugin/lsp.lua +++ b/after/plugin/lsp.lua @@ -62,10 +62,25 @@ vim.lsp.handlers['textDocument/signatureHelp'] = vim.lsp.with( vim.lsp.handlers.signature_help, { border = 'shadow' }) -- get servers and attach to them -require('mason').setup {} -require('mason-lspconfig').setup {} +local status_ok1, mason = pcall(require, "mason") +if not status_ok1 then + return +end +mason.setup {} -local get_servers = require('mason-lspconfig').get_installed_servers -for _, server_name in ipairs(get_servers()) do - lspconfig[server_name].setup({ on_attach = lsp_attach, }) +local status_ok2, masonlspconfig = pcall(require, "mason-lspconfig") +if not status_ok2 then + return end +masonlspconfig.setup {} +masonlspconfig.setup_handlers { + function (server_name) + lspconfig[server_name].setup { on_attach = lsp_attach } + end, + + -- specific servers can be setup as follows: + -- ["rust_analyzer"] = function () + -- require("rust-tools").setup {} + -- end + -- check out :help mason-lspconfig for more info +} -- cgit v1.2.1