feat(lsp): automatically resolve denols/tsserver conflicts if both are configured

This commit is contained in:
Folke Lemaitre 2023-04-23 11:01:40 +02:00
parent c7aeda9db1
commit d565684ade
No known key found for this signature in database
GPG key ID: 41F8B1FBACAE2040
2 changed files with 27 additions and 1 deletions

View file

@ -196,4 +196,21 @@ function M.lazy_notify()
timer:start(500, 0, replay)
end
function M.lsp_get_config(server)
local configs = require("lspconfig.configs")
return rawget(configs, server)
end
---@param server string
---@param cond fun( root_dir, config): boolean
function M.lsp_disable(server, cond)
local util = require("lspconfig.util")
local def = M.lsp_get_config(server)
def.document_config.on_new_config = util.add_hook_before(def.document_config.on_new_config, function(config, root_dir)
if cond(root_dir, config) then
config.enabled = false
end
end)
end
return M