diff options
| author | William Boman <william@redwill.se> | 2022-05-28 16:57:08 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-28 16:57:08 +0200 |
| commit | 9671852486d9b037f07f67f15280f6e4ad775a71 (patch) | |
| tree | 477635b57f2d971c32da869efe0aa73e570da97f /lua/nvim-lsp-installer/servers | |
| parent | Revert "refactor(solang): don't download llvm (#729)" (diff) | |
| download | mason-9671852486d9b037f07f67f15280f6e4ad775a71.tar mason-9671852486d9b037f07f67f15280f6e4ad775a71.tar.gz mason-9671852486d9b037f07f67f15280f6e4ad775a71.tar.bz2 mason-9671852486d9b037f07f67f15280f6e4ad775a71.tar.lz mason-9671852486d9b037f07f67f15280f6e4ad775a71.tar.xz mason-9671852486d9b037f07f67f15280f6e4ad775a71.tar.zst mason-9671852486d9b037f07f67f15280f6e4ad775a71.zip | |
feat(ltex): use platform independent dist if java is installed (#730)
Closes #717.
Diffstat (limited to 'lua/nvim-lsp-installer/servers')
| -rw-r--r-- | lua/nvim-lsp-installer/servers/ltex/init.lua | 70 |
1 files changed, 49 insertions, 21 deletions
diff --git a/lua/nvim-lsp-installer/servers/ltex/init.lua b/lua/nvim-lsp-installer/servers/ltex/init.lua index d5cd79d6..d1380eb9 100644 --- a/lua/nvim-lsp-installer/servers/ltex/init.lua +++ b/lua/nvim-lsp-installer/servers/ltex/init.lua @@ -1,4 +1,7 @@ local server = require "nvim-lsp-installer.server" +local a = require "nvim-lsp-installer.core.async" +local _ = require "nvim-lsp-installer.core.functional" +local installer = require "nvim-lsp-installer.core.installer" local path = require "nvim-lsp-installer.core.path" local functional = require "nvim-lsp-installer.core.functional" local platform = require "nvim-lsp-installer.core.platform" @@ -8,25 +11,14 @@ local github = require "nvim-lsp-installer.core.managers.github" local coalesce, when = functional.coalesce, functional.when return function(name, root_dir) - return server.Server:new { - name = name, - root_dir = root_dir, - homepage = "https://valentjn.github.io/vscode-ltex", - languages = { "latex" }, - ---@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", + local repo = "valentjn/ltex-ls" + ---@async + local function download_platform_dependent() + local ctx = installer.context() + local source = platform.when { + unix = function() + return github.untargz_release_file { + repo = repo, asset_file = function(version) local target = coalesce( when(platform.is_mac, "ltex-ls-%s-mac-x64.tar.gz"), @@ -36,8 +28,44 @@ return function(name, root_dir) return target:format(version) end, } - release_source.with_receipt() - ctx.fs:rename(("ltex-ls-%s"):format(release_source.release), "ltex-ls") + end, + win = function() + return github.unzip_release_file { + repo = repo, + asset_file = function(version) + return ("ltex-ls-%s-windows-x64.zip"):format(version) + end, + } + end, + } + source.with_receipt() + ctx.fs:rename(("ltex-ls-%s"):format(source.release), "ltex-ls") + end + + local function download_platform_independent() + local ctx = installer.context() + local source = github.untargz_release_file { + repo = repo, + asset_file = _.format "ltex-ls-%s.tar.gz", + } + source.with_receipt() + ctx.fs:rename(("ltex-ls-%s"):format(source.release), "ltex-ls") + end + + return server.Server:new { + name = name, + root_dir = root_dir, + homepage = "https://valentjn.github.io/vscode-ltex", + languages = { "latex" }, + ---@async + installer = function() + if vim.in_fast_event() then + a.scheduler() + end + if vim.fn.executable "java" == 1 then + download_platform_independent() + else + download_platform_dependent() end end, default_options = { |
