aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lua/lspconfig/server_configurations/rust_analyzer.lua5
1 files changed, 4 insertions, 1 deletions
diff --git a/lua/lspconfig/server_configurations/rust_analyzer.lua b/lua/lspconfig/server_configurations/rust_analyzer.lua
index bc7df9cb..0c5eb0c1 100644
--- a/lua/lspconfig/server_configurations/rust_analyzer.lua
+++ b/lua/lspconfig/server_configurations/rust_analyzer.lua
@@ -51,7 +51,10 @@ end
local function is_library(fname)
local cargo_home = os.getenv 'CARGO_HOME' or util.path.join(vim.env.HOME, '.cargo')
local registry = util.path.join(cargo_home, 'registry', 'src')
- local toolchains = util.path.join(vim.env.HOME, '.rustup', 'toolchains')
+
+ local rustup_home = os.getenv 'RUSTUP_HOME' or util.path.join(vim.env.HOME, '.rustup')
+ local toolchains = util.path.join(rustup_home, 'toolchains')
+
for _, item in ipairs { toolchains, registry } do
if fname:sub(1, #item) == item then
local clients = vim.lsp.get_active_clients { name = 'rust_analyzer' }