aboutsummaryrefslogtreecommitdiffstats
path: root/lua/nvim-lsp-installer/core
diff options
context:
space:
mode:
Diffstat (limited to 'lua/nvim-lsp-installer/core')
-rw-r--r--lua/nvim-lsp-installer/core/managers/cargo/init.lua12
1 files changed, 11 insertions, 1 deletions
diff --git a/lua/nvim-lsp-installer/core/managers/cargo/init.lua b/lua/nvim-lsp-installer/core/managers/cargo/init.lua
index 7f9dd0f0..77ec5ae8 100644
--- a/lua/nvim-lsp-installer/core/managers/cargo/init.lua
+++ b/lua/nvim-lsp-installer/core/managers/cargo/init.lua
@@ -35,6 +35,16 @@ function M.install(crate, opts)
assert(not opts.git, "Providing a version when installing a git crate is not allowed.")
end)
+ local final_crate = crate
+
+ if opts.git then
+ final_crate = { "--git" }
+ if type(opts.git) == "string" then
+ table.insert(final_crate, opts.git)
+ end
+ table.insert(final_crate, crate)
+ end
+
ctx.spawn.cargo {
"install",
"--root",
@@ -46,7 +56,7 @@ function M.install(crate, opts)
end)
:or_else(vim.NIL),
opts.features and { "--features", opts.features } or vim.NIL,
- opts.git and { "--git", crate } or crate,
+ final_crate,
}
return {