diff --git a/lua/lsp/init.lua b/lua/lsp/init.lua index 9280369..cab014d 100644 --- a/lua/lsp/init.lua +++ b/lua/lsp/init.lua @@ -262,16 +262,24 @@ function P.language_servers(self) goto next_server end if server.dependencies ~= nil then + local not_installed = {} for _, dep in ipairs(server.dependencies) do if not utils.is_installed(dep) then - utils.warn( - "Disabling " .. name .. " because " .. dep .. " is required but not installed", - module_name - ) - server.enabled = false - goto next_server + table.insert(not_installed, dep) end end + + if #not_installed > 0 then + utils.warn( + ("Disabling %s because the following required package(s) is not installed: %s"):format( + name, + table.concat(not_installed, ", ") + ), + module_name + ) + server.enabled = false + goto next_server + end end table.insert(self._language_servers, name)