Avoid panic when rust language isn't present (project unit tests)

Max Brunsfeld created

Change summary

crates/project/src/lib.rs | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)

Detailed changes

crates/project/src/lib.rs 🔗

@@ -75,18 +75,11 @@ impl Project {
         let path = Arc::from(abs_path);
         let language_server = languages
             .get_language("Rust")
-            .unwrap()
-            .start_server(&path, cx);
+            .map(|language| language.start_server(&path, cx));
         cx.spawn(|this, mut cx| async move {
-            let worktree = Worktree::open_local(
-                rpc,
-                path,
-                fs,
-                languages,
-                language_server.log_err().flatten(),
-                &mut cx,
-            )
-            .await?;
+            let language_server = language_server.and_then(|language| language.log_err().flatten());
+            let worktree =
+                Worktree::open_local(rpc, path, fs, languages, language_server, &mut cx).await?;
             this.update(&mut cx, |this, cx| {
                 this.add_worktree(worktree.clone(), cx);
             });