aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-07-20 00:00:55 +0200
committerGitHub <noreply@github.com>2022-07-19 22:00:55 +0000
commit619e52abec0175620a6b8af4e18ed4cfb4857825 (patch)
tree31c662409a88cd9e35b372f90e07136cfa586a29 /scripts/lua
parentchore: update generated code (#99) (diff)
downloadmason-619e52abec0175620a6b8af4e18ed4cfb4857825.tar
mason-619e52abec0175620a6b8af4e18ed4cfb4857825.tar.gz
mason-619e52abec0175620a6b8af4e18ed4cfb4857825.tar.bz2
mason-619e52abec0175620a6b8af4e18ed4cfb4857825.tar.lz
mason-619e52abec0175620a6b8af4e18ed4cfb4857825.tar.xz
mason-619e52abec0175620a6b8af4e18ed4cfb4857825.tar.zst
mason-619e52abec0175620a6b8af4e18ed4cfb4857825.zip
fix(mason-lspconfig): patch some server's cmd on Windows (#100)
Diffstat (limited to 'scripts/lua')
-rw-r--r--scripts/lua/mason-scripts/mason-lspconfig/generate.lua15
1 files changed, 15 insertions, 0 deletions
diff --git a/scripts/lua/mason-scripts/mason-lspconfig/generate.lua b/scripts/lua/mason-scripts/mason-lspconfig/generate.lua
index 2fa58692..66c2ba62 100644
--- a/scripts/lua/mason-scripts/mason-lspconfig/generate.lua
+++ b/scripts/lua/mason-scripts/mason-lspconfig/generate.lua
@@ -32,8 +32,23 @@ local function create_lspconfig_filetype_map()
)
end
+---@async
+local function ensure_valid_mapping()
+ local server_mappings = require "mason-lspconfig.mappings.server"
+ local registry = require "mason-registry"
+
+ for lspconfig_server, mason_package in pairs(server_mappings.lspconfig_to_package) do
+ local lspconfig_ok, server_config =
+ pcall(require, ("lspconfig.server_configurations.%s"):format(lspconfig_server))
+ local mason_ok, pkg = pcall(registry.get_package, mason_package)
+ assert(lspconfig_ok and server_config ~= nil, lspconfig_server .. " is not a valid lspconfig server name.")
+ assert(mason_ok and pkg ~= nil, mason_package .. " is not a valid Mason package name.")
+ end
+end
+
a.run_blocking(function()
a.wait_all {
create_lspconfig_filetype_map,
+ ensure_valid_mapping,
}
end)