aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/server_configurations/rust_analyzer.lua
diff options
context:
space:
mode:
authorToby Vincent <tobyv13@gmail.com>2023-06-16 20:04:16 -0500
committerGitHub <noreply@github.com>2023-06-17 09:04:16 +0800
commit7fbe5748afdb5c768c0cf91cb5e1a57d07855a5a (patch)
treebaa798417be1821292a317098e2dabe8a24ac553 /lua/lspconfig/server_configurations/rust_analyzer.lua
parentfix(command): LspRestart should attached before buffers (#2674) (diff)
downloadnvim-lspconfig-7fbe5748afdb5c768c0cf91cb5e1a57d07855a5a.tar
nvim-lspconfig-7fbe5748afdb5c768c0cf91cb5e1a57d07855a5a.tar.gz
nvim-lspconfig-7fbe5748afdb5c768c0cf91cb5e1a57d07855a5a.tar.bz2
nvim-lspconfig-7fbe5748afdb5c768c0cf91cb5e1a57d07855a5a.tar.lz
nvim-lspconfig-7fbe5748afdb5c768c0cf91cb5e1a57d07855a5a.tar.xz
nvim-lspconfig-7fbe5748afdb5c768c0cf91cb5e1a57d07855a5a.tar.zst
nvim-lspconfig-7fbe5748afdb5c768c0cf91cb5e1a57d07855a5a.zip
fix(rust_analyzer): use RUSTUP_HOME in library check (#2679)
When checking if file is part of a library, use `RUSTUP_HOME` env variable if it is set, in the same way as `CARGO_HOME`.
Diffstat (limited to 'lua/lspconfig/server_configurations/rust_analyzer.lua')
-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' }