aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/installers/context.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2022-04-11 17:19:01 +0200
committerGitHub <noreply@github.com>2022-04-11 17:19:01 +0200
commit88f590ce0e01767bcc8dfdc862a456efde77d4a0 (patch)
tree2f5faaffa76b9147a873b2adc3286b6624144976 /lua/nvim-lsp-installer/installers/context.lua
parentfix(verible): use correct unpacked directory name on Windows (#589) (diff)
downloadmason-88f590ce0e01767bcc8dfdc862a456efde77d4a0.tar
mason-88f590ce0e01767bcc8dfdc862a456efde77d4a0.tar.gz
mason-88f590ce0e01767bcc8dfdc862a456efde77d4a0.tar.bz2
mason-88f590ce0e01767bcc8dfdc862a456efde77d4a0.tar.lz
mason-88f590ce0e01767bcc8dfdc862a456efde77d4a0.tar.xz
mason-88f590ce0e01767bcc8dfdc862a456efde77d4a0.tar.zst
mason-88f590ce0e01767bcc8dfdc862a456efde77d4a0.zip
more async refactor (#587)
Diffstat (limited to 'lua/nvim-lsp-installer/installers/context.lua')
-rw-r--r--lua/nvim-lsp-installer/installers/context.lua45
1 files changed, 29 insertions, 16 deletions
diff --git a/lua/nvim-lsp-installer/installers/context.lua b/lua/nvim-lsp-installer/installers/context.lua
index 3dda0ab2..da002ea8 100644
--- a/lua/nvim-lsp-installer/installers/context.lua
+++ b/lua/nvim-lsp-installer/installers/context.lua
@@ -1,10 +1,11 @@
+local a = require "nvim-lsp-installer.core.async"
local log = require "nvim-lsp-installer.log"
local process = require "nvim-lsp-installer.process"
local installers = require "nvim-lsp-installer.installers"
local platform = require "nvim-lsp-installer.platform"
local fs = require "nvim-lsp-installer.fs"
local path = require "nvim-lsp-installer.path"
-local github = require "nvim-lsp-installer.core.clients.github"
+local github_client = require "nvim-lsp-installer.core.managers.github.client"
local M = {}
@@ -22,16 +23,21 @@ function M.use_github_latest_tag(repo)
return callback(true)
end
context.stdio_sink.stdout "Fetching tags from GitHub API...\n"
- github.fetch_latest_tag(repo, function(err, latest_tag)
- if err then
- context.stdio_sink.stderr(tostring(err) .. "\n")
- callback(false)
- return
+ a.run(github_client.fetch_latest_tag, function(success, result)
+ if not success then
+ context.stdio_sink.stderr(tostring(result) .. "\n")
+ return callback(false)
end
-
- context.requested_server_version = latest_tag.name
- callback(true)
- end)
+ result
+ :on_success(function(latest_tag)
+ context.requested_server_version = latest_tag.name
+ callback(true)
+ end)
+ :on_failure(function(failure)
+ context.stdio_sink.stderr(tostring(failure) .. "\n")
+ callback(false)
+ end)
+ end, repo)
end
end
@@ -51,14 +57,21 @@ function M.use_github_release(repo, opts)
return callback(true)
end
context.stdio_sink.stdout "Fetching latest release version from GitHub API...\n"
- github.fetch_latest_release(repo, opts, function(err, latest_release)
- if err then
- context.stdio_sink.stderr(tostring(err) .. "\n")
+ a.run(github_client.fetch_latest_release, function(success, result)
+ if not success then
+ context.stdio_sink.stderr(tostring(result) .. "\n")
return callback(false)
end
- context.requested_server_version = latest_release.tag_name
- callback(true)
- end)
+ result
+ :on_success(function(latest_release)
+ context.requested_server_version = latest_release.tag_name
+ callback(true)
+ end)
+ :on_failure(function(failure)
+ context.stdio_sink.stderr(tostring(failure) .. "\n")
+ callback(false)
+ end)
+ end, repo, opts)
end
end