revert: "fix(lsp): only resolve LSP configs once" #38990

revert eb90f5d9e3

(cherry picked from commit 4eb95c8ed2)
This commit is contained in:
Justin M. Keyes
2026-04-12 14:34:27 -04:00
committed by github-actions[bot]
parent 6250019537
commit 5920a1d07f

View File

@@ -604,7 +604,6 @@ function lsp.enable(name, enable)
validate('name', name, { 'string', 'table' })
local names = vim._ensure_list(name) --[[@as string[] ]]
local configs = {} --- @type table<string,{resolved_config:vim.lsp.Config?}>
-- Check for errors, and abort with no side-effects if there is one.
for _, nm in ipairs(names) do
@@ -615,13 +614,13 @@ function lsp.enable(name, enable)
-- Raise error if `lsp.config[nm]` raises an error, instead of waiting for
-- the error to be triggered by `lsp_enable_callback()`.
if enable ~= false then
configs[nm] = { resolved_config = lsp.config[nm] }
_ = lsp.config[nm]
end
end
-- Now that there can be no errors, enable/disable all names.
for _, nm in ipairs(names) do
lsp._enabled_configs[nm] = enable ~= false and configs[nm] or nil
lsp._enabled_configs[nm] = enable ~= false and {} or nil
end
if not next(lsp._enabled_configs) then