diff options
| author | William Boman <william@redwill.se> | 2023-01-09 08:57:26 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-01-09 08:57:26 +0100 |
| commit | f52f4382bdf02f9f7958a800a4ead351695d63bd (patch) | |
| tree | 796a6704b7279235b98d41b27fa7d02afd321401 /lua | |
| parent | feat(registry): add openscad-lsp (#869) (diff) | |
| download | mason-f52f4382bdf02f9f7958a800a4ead351695d63bd.tar mason-f52f4382bdf02f9f7958a800a4ead351695d63bd.tar.gz mason-f52f4382bdf02f9f7958a800a4ead351695d63bd.tar.bz2 mason-f52f4382bdf02f9f7958a800a4ead351695d63bd.tar.lz mason-f52f4382bdf02f9f7958a800a4ead351695d63bd.tar.xz mason-f52f4382bdf02f9f7958a800a4ead351695d63bd.tar.zst mason-f52f4382bdf02f9f7958a800a4ead351695d63bd.zip | |
refactor(providers): remove ?include_prerelease query param (#872)
This is no longer supported by mason-registry-api.
Diffstat (limited to 'lua')
| -rw-r--r-- | lua/mason-core/managers/github/client.lua | 8 | ||||
| -rw-r--r-- | lua/mason-core/providers/init.lua | 2 | ||||
| -rw-r--r-- | lua/mason-registry/vls/init.lua | 5 | ||||
| -rw-r--r-- | lua/mason/providers/client/gh.lua | 23 | ||||
| -rw-r--r-- | lua/mason/providers/registry-api/init.lua | 9 |
5 files changed, 11 insertions, 36 deletions
diff --git a/lua/mason-core/managers/github/client.lua b/lua/mason-core/managers/github/client.lua index 699e3fa4..ccca3e72 100644 --- a/lua/mason-core/managers/github/client.lua +++ b/lua/mason-core/managers/github/client.lua @@ -55,15 +55,11 @@ function M.fetch_release(repo, tag_name) end) end ----@alias FetchLatestGithubReleaseOpts {include_prerelease: boolean} - ---@async ---@param repo string The GitHub repo ("username/repo"). ----@param opts FetchLatestGithubReleaseOpts? ---@return Result # Result<GitHubRelease> -function M.fetch_latest_release(repo, opts) - opts = opts or { include_prerelease = false } - return providers.github.get_latest_release(repo, { include_prerelease = opts.include_prerelease }) +function M.fetch_latest_release(repo) + return providers.github.get_latest_release(repo) end ---@async diff --git a/lua/mason-core/providers/init.lua b/lua/mason-core/providers/init.lua index bf8e2155..8aabcde6 100644 --- a/lua/mason-core/providers/init.lua +++ b/lua/mason-core/providers/init.lua @@ -7,7 +7,7 @@ local Result = require "mason-core.result" ---@alias GitHubTag { name: string } ---@class GitHubProvider ----@field get_latest_release? async fun(repo: string, opts?: { include_prerelease?: boolean }): Result # Result<GitHubRelease> +---@field get_latest_release? async fun(repo: string): Result # Result<GitHubRelease> ---@field get_all_release_versions? async fun(repo: string): Result # Result<string[]> ---@field get_latest_tag? async fun(repo: string): Result # Result<GitHubTag> ---@field get_all_tags? async fun(repo: string): Result # Result<string[]> diff --git a/lua/mason-registry/vls/init.lua b/lua/mason-registry/vls/init.lua index 18d8edd2..92ac761b 100644 --- a/lua/mason-registry/vls/init.lua +++ b/lua/mason-registry/vls/init.lua @@ -17,12 +17,9 @@ return Pkg.new { install = function(ctx) local repo = "vlang/vls" - ---@type GitHubRelease - local latest_dev_build = github_client.fetch_latest_release(repo, { include_prerelease = true }):get_or_throw() - github .download_release_file({ - version = Optional.of(latest_dev_build.tag_name), + version = Optional.of "latest", repo = repo, out_file = platform.is.win and "vls.exe" or "vls", asset_file = _.coalesce( diff --git a/lua/mason/providers/client/gh.lua b/lua/mason/providers/client/gh.lua index 21d916a3..45fc2611 100644 --- a/lua/mason/providers/client/gh.lua +++ b/lua/mason/providers/client/gh.lua @@ -1,27 +1,14 @@ local spawn = require "mason-core.spawn" local _ = require "mason-core.functional" local Result = require "mason-core.result" -local Optional = require "mason-core.optional" ---@type GitHubProvider return { - get_latest_release = function(repo, opts) - opts = opts or {} - if not opts.include_prerelease then - return spawn - .gh({ "api", ("repos/%s/releases/latest"):format(repo) }) - :map(_.prop "stdout") - :map_catching(vim.json.decode) - else - return spawn - .gh({ "api", ("repos/%s/releases"):format(repo) }) - :map(_.prop "stdout") - :map_catching(vim.json.decode) - :map(_.find_first(_.prop_eq("draft", false))) - :and_then(function(release) - return Optional.of_nilable(release):ok_or "Failed to find latest release." - end) - end + get_latest_release = function(repo) + return spawn + .gh({ "api", ("repos/%s/releases/latest"):format(repo) }) + :map(_.prop "stdout") + :map_catching(vim.json.decode) end, get_all_release_versions = function(repo) return spawn diff --git a/lua/mason/providers/registry-api/init.lua b/lua/mason/providers/registry-api/init.lua index f5a9aef7..1b9e4d07 100644 --- a/lua/mason/providers/registry-api/init.lua +++ b/lua/mason/providers/registry-api/init.lua @@ -3,13 +3,8 @@ local api = require "mason-registry.api" ---@type Provider return { github = { - get_latest_release = function(repo, opts) - opts = opts or {} - return api.repo.releases.latest({ repo = repo }, { - params = { - include_prerelease = (opts and opts.include_prerelease) and "true" or "false", - }, - }) + get_latest_release = function(repo) + return api.repo.releases.latest { repo = repo } end, get_all_release_versions = function(repo) return api.repo.releases.all { repo = repo } |
