diff options
Diffstat (limited to 'lua/nvim-lsp-installer/servers/ltex/init.lua')
| -rw-r--r-- | lua/nvim-lsp-installer/servers/ltex/init.lua | 53 |
1 files changed, 29 insertions, 24 deletions
diff --git a/lua/nvim-lsp-installer/servers/ltex/init.lua b/lua/nvim-lsp-installer/servers/ltex/init.lua index 5eb10dc0..a9c09b8d 100644 --- a/lua/nvim-lsp-installer/servers/ltex/init.lua +++ b/lua/nvim-lsp-installer/servers/ltex/init.lua @@ -1,10 +1,9 @@ local server = require "nvim-lsp-installer.server" local path = require "nvim-lsp-installer.path" -local std = require "nvim-lsp-installer.installers.std" -local context = require "nvim-lsp-installer.installers.context" local Data = require "nvim-lsp-installer.data" local platform = require "nvim-lsp-installer.platform" local process = require "nvim-lsp-installer.process" +local github = require "nvim-lsp-installer.core.managers.github" local coalesce, when = Data.coalesce, Data.when @@ -14,28 +13,34 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://valentjn.github.io/vscode-ltex", languages = { "latex" }, - installer = { - context.use_github_release_file("valentjn/ltex-ls", function(version) - return coalesce( - when(platform.is_mac, "ltex-ls-%s-mac-x64.tar.gz"), - when(platform.is_linux, "ltex-ls-%s-linux-x64.tar.gz"), - when(platform.is_win, "ltex-ls-%s-windows-x64.zip") - ):format(version) - end), - context.capture(function(ctx) - if platform.is_win then - return std.unzip_remote(ctx.github_release_file) - else - return std.untargz_remote(ctx.github_release_file) - end - end), - context.capture(function(ctx) - return std.rename(("ltex-ls-%s"):format(ctx.requested_server_version), "ltex-ls") - end), - context.receipt(function(receipt, ctx) - receipt:with_primary_source(receipt.github_release_file(ctx)) - end), - }, + async = true, + ---@param ctx InstallContext + installer = function(ctx) + if platform.is_win then + local release_source = github.unzip_release_file { + repo = "valentjn/ltex-ls", + asset_file = function(version) + return ("ltex-ls-%s-windows-x64.zip"):format(version) + end, + } + release_source.with_receipt() + ctx.fs:rename(("ltex-ls-%s"):format(release_source.release), "ltex-ls") + else + local release_source = github.untargz_release_file { + repo = "valentjn/ltex-ls", + asset_file = function(version) + local target = coalesce( + when(platform.is_mac, "ltex-ls-%s-mac-x64.tar.gz"), + when(platform.is_linux, "ltex-ls-%s-linux-x64.tar.gz"), + when(platform.is_win, "ltex-ls-%s-windows-x64.zip") + ) + return target:format(version) + end, + } + release_source.with_receipt() + ctx.fs:rename(("ltex-ls-%s"):format(release_source.release), "ltex-ls") + end + end, default_options = { cmd_env = { PATH = process.extend_path { path.concat { root_dir, "ltex-ls", "bin" } }, |
