aboutsummaryrefslogtreecommitdiffstats
path: root/lua/lspconfig/server_configurations/rust_analyzer.lua
diff options
context:
space:
mode:
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 e18cbf5a..4e95ce87 100644
--- a/lua/lspconfig/server_configurations/rust_analyzer.lua
+++ b/lua/lspconfig/server_configurations/rust_analyzer.lua
@@ -41,13 +41,16 @@ return {
local cargo_workspace_dir = nil
if cm == 0 then
cargo_workspace_dir = vim.json.decode(cargo_metadata)['workspace_root']
+ if cargo_workspace_dir ~= nil then
+ cargo_workspace_dir = util.path.sanitize(cargo_workspace_dir)
+ end
else
vim.notify(
string.format('[lspconfig] cmd (%q) failed:\n%s', table.concat(cmd, ' '), cargo_metadata_err),
vim.log.levels.WARN
)
end
- return util.path.sanitize(cargo_workspace_dir)
+ return cargo_workspace_dir
or cargo_crate_dir
or util.root_pattern 'rust-project.json'(fname)
or util.find_git_ancestor(fname)