Register initial request handlers before launching server

Julia created

Change summary

crates/lsp/src/lsp.rs         |  2 +-
crates/project/src/project.rs | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)

Detailed changes

crates/lsp/src/lsp.rs 🔗

@@ -282,7 +282,7 @@ impl LanguageServer {
             stdout.read_exact(&mut buffer).await?;
 
             if let Ok(message) = str::from_utf8(&buffer) {
-                log::trace!("incoming message:{}", message);
+                log::trace!("incoming message: {}", message);
                 for handler in io_handlers.lock().values_mut() {
                     handler(true, message);
                 }

crates/project/src/project.rs 🔗

@@ -2748,10 +2748,8 @@ impl Project {
     ) -> Result<Option<Arc<LanguageServer>>> {
         let workspace_config = cx.update(|cx| languages.workspace_configuration(cx)).await;
         let language_server = match pending_server.task.await? {
-            Some(server) => server.initialize(initialization_options).await?,
-            None => {
-                return Ok(None);
-            }
+            Some(server) => server,
+            None => return Ok(None),
         };
 
         language_server
@@ -2909,7 +2907,9 @@ impl Project {
             )
             .ok();
 
-        Ok(Some(language_server))
+        Ok(Some(
+            language_server.initialize(initialization_options).await?,
+        ))
     }
 
     fn insert_newly_running_language_server(