@@ -305,50 +305,24 @@ impl GlobalState {
305
305
let files_config = self . config . files ( ) ;
306
306
let project_folders = ProjectFolders :: new ( & self . workspaces , & files_config. exclude ) ;
307
307
308
- let standalone_server_name =
309
- format ! ( "rust-analyzer-proc-macro-srv{}" , std:: env:: consts:: EXE_SUFFIX ) ;
310
-
311
308
if self . proc_macro_clients . is_empty ( ) {
312
309
if let Some ( ( path, path_manually_set) ) = self . config . proc_macro_srv ( ) {
313
310
tracing:: info!( "Spawning proc-macro servers" ) ;
314
311
self . proc_macro_clients = self
315
312
. workspaces
316
313
. iter ( )
317
314
. map ( |ws| {
318
- let ( path, args) = if path_manually_set {
315
+ let ( path, args) : ( _ , & [ _ ] ) = if path_manually_set {
319
316
tracing:: debug!(
320
317
"Pro-macro server path explicitly set: {}" ,
321
318
path. display( )
322
319
) ;
323
- ( path. clone ( ) , vec ! [ ] )
320
+ ( path. clone ( ) , & [ ] )
324
321
} else {
325
- let mut sysroot_server = None ;
326
- if let ProjectWorkspace :: Cargo { sysroot, .. }
327
- | ProjectWorkspace :: Json { sysroot, .. } = ws
328
- {
329
- if let Some ( sysroot) = sysroot. as_ref ( ) {
330
- let server_path = sysroot
331
- . root ( )
332
- . join ( "libexec" )
333
- . join ( & standalone_server_name) ;
334
- if std:: fs:: metadata ( & server_path) . is_ok ( ) {
335
- tracing:: debug!(
336
- "Sysroot proc-macro server exists at {}" ,
337
- server_path. display( )
338
- ) ;
339
- sysroot_server = Some ( server_path) ;
340
- } else {
341
- tracing:: debug!(
342
- "Sysroot proc-macro server does not exist at {}" ,
343
- server_path. display( )
344
- ) ;
345
- }
346
- }
322
+ match ws. find_sysroot_proc_macro_srv ( ) {
323
+ Some ( server_path) => ( server_path, & [ ] ) ,
324
+ None => ( path. clone ( ) , & [ "proc-macro" ] ) ,
347
325
}
348
- sysroot_server. map_or_else (
349
- || ( path. clone ( ) , vec ! [ "proc-macro" . to_owned( ) ] ) ,
350
- |path| ( path, vec ! [ ] ) ,
351
- )
352
326
} ;
353
327
354
328
tracing:: info!( ?args, "Using proc-macro server at {}" , path. display( ) , ) ;
0 commit comments