Only allow one proc-macro process

This commit is contained in:
Edwin Cheng 2021-02-02 04:55:17 +08:00
parent 379b677559
commit 4adf13e2ef

View File

@ -269,20 +269,22 @@ impl GlobalState {
let project_folders = let project_folders =
ProjectFolders::new(&workspaces, &files_config.exclude, workspace_build_data.as_ref()); ProjectFolders::new(&workspaces, &files_config.exclude, workspace_build_data.as_ref());
self.proc_macro_client = match self.config.proc_macro_srv() { if self.proc_macro_client.is_none() {
None => None, self.proc_macro_client = match self.config.proc_macro_srv() {
Some((path, args)) => match ProcMacroClient::extern_process(path.clone(), args) { None => None,
Ok(it) => Some(it), Some((path, args)) => match ProcMacroClient::extern_process(path.clone(), args) {
Err(err) => { Ok(it) => Some(it),
log::error!( Err(err) => {
"Failed to run proc_macro_srv from path {}, error: {:?}", log::error!(
path.display(), "Failed to run proc_macro_srv from path {}, error: {:?}",
err path.display(),
); err
None );
} None
}, }
}; },
};
}
let watch = match files_config.watcher { let watch = match files_config.watcher {
FilesWatcher::Client => vec![], FilesWatcher::Client => vec![],