From dd4afb08b93db3d53d0d70db749fc20bb487e1c3 Mon Sep 17 00:00:00 2001 From: William Boman Date: Sun, 17 Oct 2021 23:39:47 +0200 Subject: installers/context: rename functions (#170) --- lua/nvim-lsp-installer/installers/context.lua | 40 ++++++++++++---------- lua/nvim-lsp-installer/process.lua | 2 +- lua/nvim-lsp-installer/servers/bicep/init.lua | 2 +- lua/nvim-lsp-installer/servers/clangd/init.lua | 2 +- .../servers/clojure_lsp/init.lua | 2 +- lua/nvim-lsp-installer/servers/denols/init.lua | 2 +- lua/nvim-lsp-installer/servers/elixirls/init.lua | 2 +- lua/nvim-lsp-installer/servers/erlangls/init.lua | 2 +- lua/nvim-lsp-installer/servers/hls/init.lua | 2 +- .../servers/kotlin_language_server/init.lua | 2 +- lua/nvim-lsp-installer/servers/ltex/init.lua | 2 +- lua/nvim-lsp-installer/servers/omnisharp/init.lua | 2 +- .../servers/powershell_es/init.lua | 2 +- lua/nvim-lsp-installer/servers/puppet/init.lua | 2 +- lua/nvim-lsp-installer/servers/rescriptls/init.lua | 2 +- .../servers/rust_analyzer/init.lua | 2 +- lua/nvim-lsp-installer/servers/serve_d/init.lua | 2 +- lua/nvim-lsp-installer/servers/solang/init.lua | 4 +-- .../servers/sumneko_lua/init.lua | 2 +- .../servers/terraformls/init.lua | 2 +- lua/nvim-lsp-installer/servers/texlab/init.lua | 2 +- lua/nvim-lsp-installer/servers/tflint/init.lua | 2 +- lua/nvim-lsp-installer/servers/vala_ls/init.lua | 2 +- lua/nvim-lsp-installer/servers/zls/init.lua | 2 +- 24 files changed, 45 insertions(+), 43 deletions(-) (limited to 'lua') diff --git a/lua/nvim-lsp-installer/installers/context.lua b/lua/nvim-lsp-installer/installers/context.lua index 3e36b6b5..c36a9e65 100644 --- a/lua/nvim-lsp-installer/installers/context.lua +++ b/lua/nvim-lsp-installer/installers/context.lua @@ -57,34 +57,36 @@ local function fetch(url, callback) } end -function M.latest_github_release(repo) +function M.use_github_release(repo) return function(server, callback, context) - context.github_repo = repo if context.requested_server_version then + log.fmt_debug( + "Requested server version already provided (%s), skipping fetching latest release from GitHub.", + context.requested_server_version + ) -- User has already provided a version - don't fetch the latest version from GitHub return callback(true) - else - context.stdio_sink.stdout "Fetching latest release version from GitHub API...\n" - fetch( - ("https://api.github.com/repos/%s/releases/latest"):format(repo), - vim.schedule_wrap(function(err, response) - if err then - context.stdio_sink.stderr(tostring(err)) - return callback(false) - end - local version = Data.json_decode(response).tag_name - log.debug("Resolved latest version", server.name, repo, version) - context.requested_server_version = version - callback(true) - end) - ) end + context.stdio_sink.stdout "Fetching latest release version from GitHub API...\n" + fetch( + ("https://api.github.com/repos/%s/releases/latest"):format(repo), + vim.schedule_wrap(function(err, response) + if err then + context.stdio_sink.stderr(tostring(err)) + return callback(false) + end + local version = Data.json_decode(response).tag_name + log.debug("Resolved latest version", server.name, repo, version) + context.requested_server_version = version + callback(true) + end) + ) end end -function M.github_release_file(repo, file) +function M.use_github_release_file(repo, file) return installers.pipe { - M.latest_github_release(repo), + M.use_github_release(repo), function(server, callback, context) local function get_download_url(version) local target_file = type(file) == "function" and file(version) or file diff --git a/lua/nvim-lsp-installer/process.lua b/lua/nvim-lsp-installer/process.lua index 999b1a52..ae3647cb 100644 --- a/lua/nvim-lsp-installer/process.lua +++ b/lua/nvim-lsp-installer/process.lua @@ -87,7 +87,7 @@ function M.spawn(cmd, opts, callback) } log.lazy_debug(function() - local sanitized_env = sanitize_env_list(opts.env or {}) + local sanitized_env = opts.env and sanitize_env_list(opts.env) or nil return "Spawning cmd=%s, spawn_opts=%s", cmd, { diff --git a/lua/nvim-lsp-installer/servers/bicep/init.lua b/lua/nvim-lsp-installer/servers/bicep/init.lua index 28e010b0..ce76ccb6 100644 --- a/lua/nvim-lsp-installer/servers/bicep/init.lua +++ b/lua/nvim-lsp-installer/servers/bicep/init.lua @@ -12,7 +12,7 @@ return function(name, root_dir) std.ensure_executables { { "dotnet", "dotnet is required to run the bicep language server." }, }, - context.github_release_file("Azure/bicep", "bicep-langserver.zip"), + context.use_github_release_file("Azure/bicep", "bicep-langserver.zip"), context.capture(function(ctx) return std.unzip_remote(ctx.github_release_file) end), diff --git a/lua/nvim-lsp-installer/servers/clangd/init.lua b/lua/nvim-lsp-installer/servers/clangd/init.lua index 51af56b5..fec870c1 100644 --- a/lua/nvim-lsp-installer/servers/clangd/init.lua +++ b/lua/nvim-lsp-installer/servers/clangd/init.lua @@ -14,7 +14,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://clangd.llvm.org", installer = { - context.github_release_file("clangd/clangd", function(version) + context.use_github_release_file("clangd/clangd", function(version) return Data.coalesce( Data.when(platform.is_mac, "clangd-mac-%s.zip"), Data.when(platform.is_linux and platform.arch == "x64", "clangd-linux-%s.zip"), diff --git a/lua/nvim-lsp-installer/servers/clojure_lsp/init.lua b/lua/nvim-lsp-installer/servers/clojure_lsp/init.lua index 8fb9d92b..61f6b41e 100644 --- a/lua/nvim-lsp-installer/servers/clojure_lsp/init.lua +++ b/lua/nvim-lsp-installer/servers/clojure_lsp/init.lua @@ -11,7 +11,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://clojure-lsp.io", installer = { - context.github_release_file( + context.use_github_release_file( "clojure-lsp/clojure-lsp", Data.coalesce( Data.when(platform.is_mac, "clojure-lsp-native-macos-amd64.zip"), diff --git a/lua/nvim-lsp-installer/servers/denols/init.lua b/lua/nvim-lsp-installer/servers/denols/init.lua index d09d3957..12630547 100644 --- a/lua/nvim-lsp-installer/servers/denols/init.lua +++ b/lua/nvim-lsp-installer/servers/denols/init.lua @@ -13,7 +13,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://deno.land/x/deno/cli/lsp", installer = { - context.github_release_file( + context.use_github_release_file( "denoland/deno", coalesce( when( diff --git a/lua/nvim-lsp-installer/servers/elixirls/init.lua b/lua/nvim-lsp-installer/servers/elixirls/init.lua index 4cd941f0..e0ca0682 100644 --- a/lua/nvim-lsp-installer/servers/elixirls/init.lua +++ b/lua/nvim-lsp-installer/servers/elixirls/init.lua @@ -9,7 +9,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://github.com/elixir-lsp/elixir-ls", installer = { - context.github_release_file("elixir-lsp/elixir-ls", "elixir-ls.zip"), + context.use_github_release_file("elixir-lsp/elixir-ls", "elixir-ls.zip"), context.capture(function(ctx) return std.unzip_remote(ctx.github_release_file, "elixir-ls") end), diff --git a/lua/nvim-lsp-installer/servers/erlangls/init.lua b/lua/nvim-lsp-installer/servers/erlangls/init.lua index 4baa075a..36cca9e4 100644 --- a/lua/nvim-lsp-installer/servers/erlangls/init.lua +++ b/lua/nvim-lsp-installer/servers/erlangls/init.lua @@ -15,7 +15,7 @@ return function(name, root_dir) std.ensure_executables { { "rebar3", "rebar3 was not found in path. Refer to http://rebar3.org/docs/." }, }, - context.latest_github_release "erlang-ls/erlang_ls", + context.use_github_release "erlang-ls/erlang_ls", std.git_clone "https://github.com/erlang-ls/erlang_ls.git", function(server, callback, context) local c = process.chain { diff --git a/lua/nvim-lsp-installer/servers/hls/init.lua b/lua/nvim-lsp-installer/servers/hls/init.lua index a6ad0ef4..21a5ed52 100644 --- a/lua/nvim-lsp-installer/servers/hls/init.lua +++ b/lua/nvim-lsp-installer/servers/hls/init.lua @@ -13,7 +13,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://haskell-language-server.readthedocs.io/en/latest/", installer = { - context.github_release_file("haskell/haskell-language-server", function(version) + context.use_github_release_file("haskell/haskell-language-server", function(version) return Data.coalesce( Data.when(platform.is_mac, "haskell-language-server-macOS-%s.tar.gz"), Data.when(platform.is_linux, "haskell-language-server-Linux-%s.tar.gz"), diff --git a/lua/nvim-lsp-installer/servers/kotlin_language_server/init.lua b/lua/nvim-lsp-installer/servers/kotlin_language_server/init.lua index e21766c8..b154f83f 100644 --- a/lua/nvim-lsp-installer/servers/kotlin_language_server/init.lua +++ b/lua/nvim-lsp-installer/servers/kotlin_language_server/init.lua @@ -10,7 +10,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://github.com/fwcd/kotlin-language-server", installer = { - context.github_release_file("fwcd/kotlin-language-server", "server.zip"), + context.use_github_release_file("fwcd/kotlin-language-server", "server.zip"), context.capture(function(ctx) return std.unzip_remote(ctx.github_release_file) end), diff --git a/lua/nvim-lsp-installer/servers/ltex/init.lua b/lua/nvim-lsp-installer/servers/ltex/init.lua index a1553976..27d8bb7c 100644 --- a/lua/nvim-lsp-installer/servers/ltex/init.lua +++ b/lua/nvim-lsp-installer/servers/ltex/init.lua @@ -16,7 +16,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://valentjn.github.io/vscode-ltex", installer = { - context.github_release_file("valentjn/ltex-ls", function(version) + 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"), diff --git a/lua/nvim-lsp-installer/servers/omnisharp/init.lua b/lua/nvim-lsp-installer/servers/omnisharp/init.lua index 294c1d02..ed85c774 100644 --- a/lua/nvim-lsp-installer/servers/omnisharp/init.lua +++ b/lua/nvim-lsp-installer/servers/omnisharp/init.lua @@ -13,7 +13,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://github.com/OmniSharp/omnisharp-roslyn", installer = { - context.github_release_file( + context.use_github_release_file( "OmniSharp/omnisharp-roslyn", coalesce( when(platform.is_mac, "omnisharp-osx.zip"), diff --git a/lua/nvim-lsp-installer/servers/powershell_es/init.lua b/lua/nvim-lsp-installer/servers/powershell_es/init.lua index 9a6e5acf..ef8ba614 100644 --- a/lua/nvim-lsp-installer/servers/powershell_es/init.lua +++ b/lua/nvim-lsp-installer/servers/powershell_es/init.lua @@ -11,7 +11,7 @@ return function(name, root_dir) homepage = "https://github.com/PowerShell/PowerShellEditorServices", installer = installers.when { win = { - context.github_release_file("PowerShell/PowerShellEditorServices", "PowerShellEditorServices.zip"), + context.use_github_release_file("PowerShell/PowerShellEditorServices", "PowerShellEditorServices.zip"), context.capture(function(ctx) return std.unzip_remote(ctx.github_release_file) end), diff --git a/lua/nvim-lsp-installer/servers/puppet/init.lua b/lua/nvim-lsp-installer/servers/puppet/init.lua index a1642d62..e124b9c0 100644 --- a/lua/nvim-lsp-installer/servers/puppet/init.lua +++ b/lua/nvim-lsp-installer/servers/puppet/init.lua @@ -9,7 +9,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://github.com/puppetlabs/puppet-editor-services", installer = { - context.github_release_file("puppetlabs/puppet-editor-services", function(version) + context.use_github_release_file("puppetlabs/puppet-editor-services", function(version) return ("puppet_editor_services_%s.zip"):format(version) end), context.capture(function(ctx) diff --git a/lua/nvim-lsp-installer/servers/rescriptls/init.lua b/lua/nvim-lsp-installer/servers/rescriptls/init.lua index 590eafc5..b7c5be9b 100644 --- a/lua/nvim-lsp-installer/servers/rescriptls/init.lua +++ b/lua/nvim-lsp-installer/servers/rescriptls/init.lua @@ -9,7 +9,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://github.com/rescript-lang/rescript-vscode", installer = { - context.github_release_file("rescript-lang/rescript-vscode", function(version) + context.use_github_release_file("rescript-lang/rescript-vscode", function(version) return ("rescript-vscode-%s.vsix"):format(version) end), context.capture(function(ctx) diff --git a/lua/nvim-lsp-installer/servers/rust_analyzer/init.lua b/lua/nvim-lsp-installer/servers/rust_analyzer/init.lua index 7e96a54d..a36e21d8 100644 --- a/lua/nvim-lsp-installer/servers/rust_analyzer/init.lua +++ b/lua/nvim-lsp-installer/servers/rust_analyzer/init.lua @@ -37,7 +37,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://rust-analyzer.github.io", installer = { - context.github_release_file("rust-analyzer/rust-analyzer", target), + context.use_github_release_file("rust-analyzer/rust-analyzer", target), context.capture(function(ctx) return std.gunzip_remote( ctx.github_release_file, diff --git a/lua/nvim-lsp-installer/servers/serve_d/init.lua b/lua/nvim-lsp-installer/servers/serve_d/init.lua index f7c01bcf..e0e62d20 100644 --- a/lua/nvim-lsp-installer/servers/serve_d/init.lua +++ b/lua/nvim-lsp-installer/servers/serve_d/init.lua @@ -17,7 +17,7 @@ return function(name, root_dir) -- available 0.6.0 vs 0.7.0 beta releases. ctx.requested_server_version = Data.coalesce(ctx.requested_server_version, "v0.7.0-beta.7") end), - context.github_release_file("Pure-D/serve-d", function(version) + context.use_github_release_file("Pure-D/serve-d", function(version) return Data.coalesce( Data.when(platform.is_mac, "serve-d_%s-osx-x86_64.tar.xz"), Data.when(platform.is_linux, "serve-d_%s-linux-x86_64.tar.xz"), diff --git a/lua/nvim-lsp-installer/servers/solang/init.lua b/lua/nvim-lsp-installer/servers/solang/init.lua index 6b3fac2c..d0de6c73 100644 --- a/lua/nvim-lsp-installer/servers/solang/init.lua +++ b/lua/nvim-lsp-installer/servers/solang/init.lua @@ -10,7 +10,7 @@ local coalesce, when = Data.coalesce, Data.when return function(name, root_dir) local solang_executable_installer = installers.pipe { - context.github_release_file( + context.use_github_release_file( "hyperledger-labs/solang", coalesce( when(platform.is_mac and platform.arch == "x64", "solang-mac-intel"), @@ -26,7 +26,7 @@ return function(name, root_dir) } local llvm_installer = installers.pipe { - context.github_release_file( + context.use_github_release_file( "hyperledger-labs/solang", coalesce( when(platform.is_mac and platform.arch == "x64", "llvm12.0-mac-intel.tar.xz"), diff --git a/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua b/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua index 19b64649..35daac15 100644 --- a/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua +++ b/lua/nvim-lsp-installer/servers/sumneko_lua/init.lua @@ -17,7 +17,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://github.com/sumneko/lua-language-server", installer = { - context.github_release_file("sumneko/vscode-lua", function(version) + context.use_github_release_file("sumneko/vscode-lua", function(version) return ("lua-%s.vsix"):format(version:gsub("^v", "")) end), context.capture(function(ctx) diff --git a/lua/nvim-lsp-installer/servers/terraformls/init.lua b/lua/nvim-lsp-installer/servers/terraformls/init.lua index a584c940..e30967ec 100644 --- a/lua/nvim-lsp-installer/servers/terraformls/init.lua +++ b/lua/nvim-lsp-installer/servers/terraformls/init.lua @@ -13,7 +13,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://github.com/hashicorp/terraform-ls", installer = { - context.github_release_file("hashicorp/terraform-ls", function(version) + context.use_github_release_file("hashicorp/terraform-ls", function(version) return Data.coalesce( when( platform.is_mac, diff --git a/lua/nvim-lsp-installer/servers/texlab/init.lua b/lua/nvim-lsp-installer/servers/texlab/init.lua index 425ba78a..b415d662 100644 --- a/lua/nvim-lsp-installer/servers/texlab/init.lua +++ b/lua/nvim-lsp-installer/servers/texlab/init.lua @@ -16,7 +16,7 @@ return function(name, root_dir) std.ensure_executables { { "pdflatex", "A TeX distribution is not installed. Refer to https://www.latex-project.org/get/." }, }, - context.github_release_file( + context.use_github_release_file( "latex-lsp/texlab", coalesce( when(platform.is_mac, "texlab-x86_64-macos.tar.gz"), diff --git a/lua/nvim-lsp-installer/servers/tflint/init.lua b/lua/nvim-lsp-installer/servers/tflint/init.lua index 97f76217..32dfe88d 100644 --- a/lua/nvim-lsp-installer/servers/tflint/init.lua +++ b/lua/nvim-lsp-installer/servers/tflint/init.lua @@ -25,7 +25,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://github.com/terraform-linters/tflint", installer = { - context.github_release_file("terraform-linters/tflint", target), + context.use_github_release_file("terraform-linters/tflint", target), context.capture(function(ctx) return std.unzip_remote(ctx.github_release_file) end), diff --git a/lua/nvim-lsp-installer/servers/vala_ls/init.lua b/lua/nvim-lsp-installer/servers/vala_ls/init.lua index 5ed52b4e..5eed06e4 100644 --- a/lua/nvim-lsp-installer/servers/vala_ls/init.lua +++ b/lua/nvim-lsp-installer/servers/vala_ls/init.lua @@ -16,7 +16,7 @@ return function(name, root_dir) { "ninja", "ninja was not found in path. Refer to https://ninja-build.org/" }, { "valac", "valac was not found in path. Refer to https://wiki.gnome.org/Projects/Vala" }, }, - context.github_release_file("Prince781/vala-language-server", function(version) + context.use_github_release_file("Prince781/vala-language-server", function(version) return ("vala-language-server-%s.tar.xz"):format(version) end), context.capture(function(ctx) diff --git a/lua/nvim-lsp-installer/servers/zls/init.lua b/lua/nvim-lsp-installer/servers/zls/init.lua index 71e0a524..53aa5a1e 100644 --- a/lua/nvim-lsp-installer/servers/zls/init.lua +++ b/lua/nvim-lsp-installer/servers/zls/init.lua @@ -22,7 +22,7 @@ return function(name, root_dir) root_dir = root_dir, homepage = "https://github.com/zigtools/zls", installer = { - context.github_release_file("zigtools/zls", archive_name and ("%s.tar.xz"):format(archive_name)), + context.use_github_release_file("zigtools/zls", archive_name and ("%s.tar.xz"):format(archive_name)), context.capture(function(ctx) return std.untarxz_remote(ctx.github_release_file) end), -- cgit v1.2.3-70-g09d2