diff --git a/crates/zed/src/zed/edit_prediction_registry.rs b/crates/zed/src/zed/edit_prediction_registry.rs index d0e8e26074296e5b54bccaa73de7e06e4aacf205..5d099834b924859052b2620d7ea33383c3c530c6 100644 --- a/crates/zed/src/zed/edit_prediction_registry.rs +++ b/crates/zed/src/zed/edit_prediction_registry.rs @@ -97,6 +97,8 @@ pub fn init(client: Arc, user_store: Entity, cx: &mut App) { fn clear_zeta_edit_history(_: &zeta::ClearHistory, cx: &mut App) { if let Some(zeta) = zeta::Zeta::global(cx) { zeta.update(cx, |zeta, _| zeta.clear_history()); + } else if let Some(zeta) = zeta2::Zeta::try_global(cx) { + zeta.update(cx, |zeta, _| zeta.clear_history()); } } diff --git a/crates/zeta2/src/zeta2.rs b/crates/zeta2/src/zeta2.rs index 8af20a6236e06c78d50b9f3c22609adfbe5571e2..fcf42958a07eeb6664252c6b8b1da69be2cb739b 100644 --- a/crates/zeta2/src/zeta2.rs +++ b/crates/zeta2/src/zeta2.rs @@ -108,6 +108,10 @@ pub enum Event { } impl Zeta { + pub fn try_global(cx: &App) -> Option> { + cx.try_global::().map(|global| global.0.clone()) + } + pub fn global( client: &Arc, user_store: &Entity, @@ -162,6 +166,12 @@ impl Zeta { self.options = options; } + pub fn clear_history(&mut self) { + for zeta_project in self.projects.values_mut() { + zeta_project.events.clear(); + } + } + pub fn usage(&self, cx: &App) -> Option { self.user_store.read(cx).edit_prediction_usage() }