From 8d7dd71cfd3f1e36582a9a870e8f0564b768b935 Mon Sep 17 00:00:00 2001 From: William Boman Date: Fri, 22 Jul 2022 23:21:01 +0200 Subject: fix: ensure no duplicate languages with different casing (#117) --- scripts/lua/mason-scripts/mason/generate.lua | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'scripts/lua') diff --git a/scripts/lua/mason-scripts/mason/generate.lua b/scripts/lua/mason-scripts/mason/generate.lua index 6f0bd4d2..4c2f47ce 100644 --- a/scripts/lua/mason-scripts/mason/generate.lua +++ b/scripts/lua/mason-scripts/mason/generate.lua @@ -10,11 +10,21 @@ local MASON_REGISTRY_DIR = path.concat { vim.loop.cwd(), "lua", "mason-registry" ---@async local function create_language_map() print "Creating language map…" + local indexed_languages = {} local language_map = {} local sorted_packages = _.sort_by(_.prop "name", registry.get_all_packages()) _.each(function(pkg) _.each(function(language) local language_lc = language:lower() + if indexed_languages[language_lc] and indexed_languages[language_lc] ~= language then + error( + ("Found two variants of same language with differing cases %s != %s"):format( + indexed_languages[language_lc], + language + ) + ) + end + indexed_languages[language_lc] = language language_map[language_lc] = _.append(pkg.name, language_map[language_lc] or {}) end, pkg.spec.languages) end, sorted_packages) -- cgit v1.2.3-70-g09d2