aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/installers/std.lua
diff options
context:
space:
mode:
authorWilliam Boman <william@redwill.se>2021-09-29 13:48:39 +0200
committerGitHub <noreply@github.com>2021-09-29 13:48:39 +0200
commite267fe517feaaf7a48323349e3775944db49c158 (patch)
tree1c9d869d71c32b0d3b2f9304d9433dbb4ced9903 /lua/nvim-lsp-installer/installers/std.lua
parentfix stylua (#104) (diff)
downloadmason-e267fe517feaaf7a48323349e3775944db49c158.tar
mason-e267fe517feaaf7a48323349e3775944db49c158.tar.gz
mason-e267fe517feaaf7a48323349e3775944db49c158.tar.bz2
mason-e267fe517feaaf7a48323349e3775944db49c158.tar.lz
mason-e267fe517feaaf7a48323349e3775944db49c158.tar.xz
mason-e267fe517feaaf7a48323349e3775944db49c158.tar.zst
mason-e267fe517feaaf7a48323349e3775944db49c158.zip
support installing specific version of language servers, defaults to latest (#106)
Diffstat (limited to 'lua/nvim-lsp-installer/installers/std.lua')
-rw-r--r--lua/nvim-lsp-installer/installers/std.lua14
1 files changed, 11 insertions, 3 deletions
diff --git a/lua/nvim-lsp-installer/installers/std.lua b/lua/nvim-lsp-installer/installers/std.lua
index f65992df..08bed2f2 100644
--- a/lua/nvim-lsp-installer/installers/std.lua
+++ b/lua/nvim-lsp-installer/installers/std.lua
@@ -97,11 +97,19 @@ end
function M.git_clone(repo_url)
return function(server, callback, context)
- process.spawn("git", {
- args = { "clone", "--depth", "1", repo_url, "." },
+ local c = process.chain {
cwd = server.root_dir,
stdio_sink = context.stdio_sink,
- }, callback)
+ }
+
+ c.run("git", { "clone", "--depth", "1", repo_url, "." })
+
+ if context.requested_server_version then
+ c.run("git", { "fetch", "--depth", "1", "origin", context.requested_server_version })
+ c.run("git", { "checkout", "FETCH_HEAD" })
+ end
+
+ c.spawn(callback)
end
end