diff options
| author | William Boman <william@redwill.se> | 2022-01-06 18:21:19 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-06 18:21:19 +0100 |
| commit | 5cc73ef7360866c65169e0e7d55d3b59fb3b6eaa (patch) | |
| tree | b958f26ae3964e7ba8aa3572b81ece1e23b49df1 /lua/nvim-lsp-installer/jobs/outdated-servers/github_release_file.lua | |
| parent | rerun autogen (diff) | |
| download | mason-5cc73ef7360866c65169e0e7d55d3b59fb3b6eaa.tar mason-5cc73ef7360866c65169e0e7d55d3b59fb3b6eaa.tar.gz mason-5cc73ef7360866c65169e0e7d55d3b59fb3b6eaa.tar.bz2 mason-5cc73ef7360866c65169e0e7d55d3b59fb3b6eaa.tar.lz mason-5cc73ef7360866c65169e0e7d55d3b59fb3b6eaa.tar.xz mason-5cc73ef7360866c65169e0e7d55d3b59fb3b6eaa.tar.zst mason-5cc73ef7360866c65169e0e7d55d3b59fb3b6eaa.zip | |
feat(ui): display outdated servers (#395)
Diffstat (limited to 'lua/nvim-lsp-installer/jobs/outdated-servers/github_release_file.lua')
| -rw-r--r-- | lua/nvim-lsp-installer/jobs/outdated-servers/github_release_file.lua | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/lua/nvim-lsp-installer/jobs/outdated-servers/github_release_file.lua b/lua/nvim-lsp-installer/jobs/outdated-servers/github_release_file.lua new file mode 100644 index 00000000..37e30798 --- /dev/null +++ b/lua/nvim-lsp-installer/jobs/outdated-servers/github_release_file.lua @@ -0,0 +1,29 @@ +local github = require "nvim-lsp-installer.core.clients.github" +local VersionCheckResult = require "nvim-lsp-installer.jobs.outdated-servers.version-check-result" + +---@param server Server +---@param source InstallReceiptSource +---@param on_result fun(result: VersionCheckResult) +return function(server, source, on_result) + github.fetch_latest_release( + source.repo, + { tag_name_pattern = source.tag_name_pattern }, + function(err, latest_release) + if err then + return on_result(VersionCheckResult.fail(server)) + end + + if source.release ~= latest_release.tag_name then + return on_result(VersionCheckResult.success(server, { + { + name = source.repo, + current_version = source.release, + latest_version = latest_release.tag_name, + }, + })) + else + return on_result(VersionCheckResult.empty(server)) + end + end + ) +end |
