aboutsummaryrefslogtreecommitdiffstats
path: root/scripts
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-03-26 13:41:50 +0100
committerGitHub <noreply@github.com>2022-03-26 13:41:50 +0100
commit212d17a039da449043b67529c29851db37acc236 (patch)
tree38411b14487895cef0d7648e198b79fd28793fe6 /scripts
parentrun autogen_metadata.lua (diff)
downloadmason-212d17a039da449043b67529c29851db37acc236.tar
mason-212d17a039da449043b67529c29851db37acc236.tar.gz
mason-212d17a039da449043b67529c29851db37acc236.tar.bz2
mason-212d17a039da449043b67529c29851db37acc236.tar.lz
mason-212d17a039da449043b67529c29851db37acc236.tar.xz
mason-212d17a039da449043b67529c29851db37acc236.tar.zst
mason-212d17a039da449043b67529c29851db37acc236.zip
add async managers (#536)
Diffstat (limited to 'scripts')
-rw-r--r--scripts/autogen_metadata.lua14
1 files changed, 9 insertions, 5 deletions
diff --git a/scripts/autogen_metadata.lua b/scripts/autogen_metadata.lua
index 7ff2dc24..46b939af 100644
--- a/scripts/autogen_metadata.lua
+++ b/scripts/autogen_metadata.lua
@@ -4,6 +4,8 @@ local Path = require "nvim-lsp-installer.path"
local fetch = require "nvim-lsp-installer.core.fetch"
local Data = require "nvim-lsp-installer.data"
+local async_fetch = a.promisify(fetch, true)
+
local coalesce = Data.coalesce
package.loaded["nvim-lsp-installer.servers"] = nil
@@ -74,6 +76,7 @@ local function get_supported_filetypes(server)
return filetypes
end
+---@async
local function create_filetype_map()
local filetype_map = {}
@@ -91,6 +94,7 @@ local function create_filetype_map()
write_file(Path.concat { generated_dir, "filetype_map.lua" }, "return " .. vim.inspect(filetype_map), "w")
end
+---@async
local function create_autocomplete_map()
---@type table<string, Server>
local language_map = {}
@@ -133,6 +137,7 @@ local function create_autocomplete_map()
)
end
+---@async
local function create_server_metadata()
local metadata = {}
@@ -149,19 +154,18 @@ local function create_server_metadata()
write_file(Path.concat { generated_dir, "metadata.lua" }, "return " .. vim.inspect(metadata), "w")
end
+---@async
local function create_setting_schema_files()
local available_servers = servers.get_available_servers()
- local gist_err, gist_data =
- a.promisify(fetch) "https://gist.githubusercontent.com/williamboman/a01c3ce1884d4b57cc93422e7eae7702/raw/lsp-packages.json"
- assert(not gist_err, "Failed to fetch gist.")
+ local gist_data =
+ async_fetch "https://gist.githubusercontent.com/williamboman/a01c3ce1884d4b57cc93422e7eae7702/raw/lsp-packages.json"
local package_json_mappings = vim.json.decode(gist_data)
for _, server in pairs(available_servers) do
local package_json_url = package_json_mappings[server.name]
if package_json_url then
print(("Fetching %q..."):format(package_json_url))
- local err, response = a.promisify(fetch)(package_json_url)
- assert(not err, "Failed to fetch package.json for " .. server.name)
+ local response = async_fetch(package_json_url)
local schema = vim.json.decode(response)
if schema.contributes and schema.contributes.configuration then
schema = schema.contributes.configuration