aboutsummaryrefslogtreecommitdiffstats
path: root/lua
diff options
context:
space:
mode:
Diffstat (limited to 'lua')
-rw-r--r--lua/nvim-lsp-installer/installers/context.lua40
-rw-r--r--lua/nvim-lsp-installer/process.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/bicep/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/clangd/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/clojure_lsp/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/denols/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/elixirls/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/erlangls/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/hls/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/kotlin_language_server/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/ltex/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/omnisharp/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/powershell_es/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/puppet/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/rescriptls/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/rust_analyzer/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/serve_d/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/solang/init.lua4
-rw-r--r--lua/nvim-lsp-installer/servers/sumneko_lua/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/terraformls/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/texlab/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/tflint/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/vala_ls/init.lua2
-rw-r--r--lua/nvim-lsp-installer/servers/zls/init.lua2
24 files changed, 45 insertions, 43 deletions
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),