From 619e52abec0175620a6b8af4e18ed4cfb4857825 Mon Sep 17 00:00:00 2001 From: William Boman Date: Wed, 20 Jul 2022 00:00:55 +0200 Subject: fix(mason-lspconfig): patch some server's cmd on Windows (#100) --- scripts/lua/mason-scripts/mason-lspconfig/generate.lua | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'scripts/lua/mason-scripts') 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) -- cgit v1.2.3-70-g09d2