about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAmos Wenger <amoswenger@gmail.com>2022-07-26 11:30:41 +0200
committerAmos Wenger <amoswenger@gmail.com>2022-07-26 12:28:59 +0200
commitb1e3daf14b14404945a14346d7b478feee7c5508 (patch)
tree52a441f4f13f0526fe348f72e8f3464ab4847523
parente36a20c24f35a4cee82bbdc600289104c9237c22 (diff)
downloadrust-b1e3daf14b14404945a14346d7b478feee7c5508.tar.gz
rust-b1e3daf14b14404945a14346d7b478feee7c5508.zip
Find standalone proc-macro-srv on windows too
-rw-r--r--crates/rust-analyzer/src/reload.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/crates/rust-analyzer/src/reload.rs b/crates/rust-analyzer/src/reload.rs
index 9ae361b034e..b9aa13ec5b3 100644
--- a/crates/rust-analyzer/src/reload.rs
+++ b/crates/rust-analyzer/src/reload.rs
@@ -303,6 +303,9 @@ impl GlobalState {
         let files_config = self.config.files();
         let project_folders = ProjectFolders::new(&self.workspaces, &files_config.exclude);
 
+        let standalone_server_name =
+            format!("rust-analyzer-proc-macro-srv{}", std::env::consts::EXE_SUFFIX);
+
         if self.proc_macro_clients.is_empty() {
             if let Some((path, args)) = self.config.proc_macro_srv() {
                 self.proc_macro_clients = self
@@ -316,10 +319,8 @@ impl GlobalState {
                             tracing::info!("Found a cargo workspace...");
                             if let Some(sysroot) = sysroot.as_ref() {
                                 tracing::info!("Found a cargo workspace with a sysroot...");
-                                let server_path = sysroot
-                                    .root()
-                                    .join("libexec")
-                                    .join("rust-analyzer-proc-macro-srv");
+                                let server_path =
+                                    sysroot.root().join("libexec").join(&standalone_server_name);
                                 if std::fs::metadata(&server_path).is_ok() {
                                     tracing::info!(
                                         "And the server exists at {}",