diff --git a/crates/project/src/environment.rs b/crates/project/src/environment.rs index a0c7d42502..222cc29840 100644 --- a/crates/project/src/environment.rs +++ b/crates/project/src/environment.rs @@ -13,6 +13,7 @@ use crate::{ }; pub struct ProjectEnvironment { + worktree_store: Model, cli_environment: Option>, environments: HashMap>>>>, environment_error_messages: HashMap, @@ -33,6 +34,7 @@ impl ProjectEnvironment { .detach(); Self { + worktree_store: worktree_store.clone(), cli_environment, environments: Default::default(), environment_error_messages: Default::default(), @@ -102,6 +104,16 @@ impl ProjectEnvironment { return Task::ready(None).shared(); }; + if self + .worktree_store + .read(cx) + .worktree_for_id(worktree_id, cx) + .map(|w| !w.read(cx).is_local()) + .unwrap_or(true) + { + return Task::ready(None).shared(); + } + if let Some(task) = self.environments.get(&worktree_id) { task.clone() } else {