From 697f5dde3a02b9db105af1fac4898d370bba4c98 Mon Sep 17 00:00:00 2001 From: Ben Kunkle Date: Mon, 27 Apr 2026 09:25:22 -0500 Subject: [PATCH] ep: Improve copy when showing edit predictions is disabled (#54926) Self-Review Checklist: - [x] I've reviewed my own diff for quality, security, and reliability - [x] Unsafe blocks (if any) have justifying comments - [x] The content is consistent with the [UI/UX checklist](https://github.com/zed-industries/zed/blob/main/CONTRIBUTING.md#uiux-checklist) - [x] Tests cover the new/changed behavior - [x] Performance impact has been considered and is acceptable Closes #54809 Release Notes: - N/A or Added/Fixed/Improved ... --- .../src/edit_prediction_button.rs | 25 +++++++++++-------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/crates/edit_prediction_ui/src/edit_prediction_button.rs b/crates/edit_prediction_ui/src/edit_prediction_button.rs index 4d048c25a53..f80680d4e59 100644 --- a/crates/edit_prediction_ui/src/edit_prediction_button.rs +++ b/crates/edit_prediction_ui/src/edit_prediction_button.rs @@ -428,6 +428,13 @@ impl Render for EditPredictionButton { None }; + let zed_cloud_needs_sign_in = matches!( + provider, + EditPredictionProvider::Zed | EditPredictionProvider::Experimental(_) + ) && user.is_none(); + let provider_unavailable = + missing_token || mercury_has_error || zed_cloud_needs_sign_in; + let icon_button = IconButton::new("zed-predict-pending-button", ep_icon) .shape(IconButtonShape::Square) .when_some(indicator_color, |this, color| { @@ -435,19 +442,15 @@ impl Render for EditPredictionButton { .indicator_border_color(Some(cx.theme().colors().status_bar_background)) }) .when(!self.popover_menu_handle.is_deployed(), |element| { - let user = user.clone(); - element.tooltip(move |_window, cx| { - let description = if enabled { - if show_editor_predictions { - tooltip_meta - } else if user.is_none() { - "Sign In Or Configure a Provider" - } else { - "Hidden For This File" - } - } else { + let description = if !enabled { "Disabled For This File" + } else if zed_cloud_needs_sign_in { + "Sign In Or Configure a Provider" + } else if provider_unavailable || show_editor_predictions { + tooltip_meta + } else { + "Enable to Use" }; Tooltip::with_meta(