diff --git a/Cargo.lock b/Cargo.lock
index 1d0af3c008..13d4be6233 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -9514,7 +9514,7 @@ dependencies = [
[[package]]
name = "zed"
-version = "0.119.0"
+version = "0.120.0"
dependencies = [
"activity_indicator",
"ai",
diff --git a/assets/icons/arrow_circle.svg b/assets/icons/arrow_circle.svg
new file mode 100644
index 0000000000..750e349e2b
--- /dev/null
+++ b/assets/icons/arrow_circle.svg
@@ -0,0 +1 @@
+
diff --git a/crates/diagnostics/src/items.rs b/crates/diagnostics/src/items.rs
index 9f7be0c04f..da1f77b9af 100644
--- a/crates/diagnostics/src/items.rs
+++ b/crates/diagnostics/src/items.rs
@@ -23,11 +23,21 @@ pub struct DiagnosticIndicator {
impl Render for DiagnosticIndicator {
fn render(&mut self, cx: &mut ViewContext) -> impl IntoElement {
let diagnostic_indicator = match (self.summary.error_count, self.summary.warning_count) {
- (0, 0) => h_stack().child(
- IconElement::new(Icon::Check)
- .size(IconSize::Small)
- .color(Color::Success),
- ),
+ (0, 0) => h_stack().map(|this| {
+ if !self.in_progress_checks.is_empty() {
+ this.child(
+ IconElement::new(Icon::ArrowCircle)
+ .size(IconSize::Small)
+ .color(Color::Muted),
+ )
+ } else {
+ this.child(
+ IconElement::new(Icon::Check)
+ .size(IconSize::Small)
+ .color(Color::Default),
+ )
+ }
+ }),
(0, warning_count) => h_stack()
.gap_1()
.child(
@@ -64,6 +74,7 @@ impl Render for DiagnosticIndicator {
Some(
Label::new("Checking…")
.size(LabelSize::Small)
+ .color(Color::Muted)
.into_any_element(),
)
} else if let Some(diagnostic) = &self.current_diagnostic {
diff --git a/crates/ui/src/components/icon.rs b/crates/ui/src/components/icon.rs
index 9c0b1e58e3..4c6e48c0fc 100644
--- a/crates/ui/src/components/icon.rs
+++ b/crates/ui/src/components/icon.rs
@@ -29,6 +29,7 @@ pub enum Icon {
ArrowRight,
ArrowUp,
ArrowUpRight,
+ ArrowCircle,
AtSign,
AudioOff,
AudioOn,
@@ -119,6 +120,7 @@ impl Icon {
Icon::ArrowRight => "icons/arrow_right.svg",
Icon::ArrowUp => "icons/arrow_up.svg",
Icon::ArrowUpRight => "icons/arrow_up_right.svg",
+ Icon::ArrowCircle => "icons/arrow_circle.svg",
Icon::AtSign => "icons/at_sign.svg",
Icon::AudioOff => "icons/speaker_off.svg",
Icon::AudioOn => "icons/speaker_loud.svg",