From 710a26ce32244835891469c26484d4538844c126 Mon Sep 17 00:00:00 2001 From: Nate Butler Date: Wed, 3 Jan 2024 23:07:21 -0500 Subject: [PATCH] Add "Checking" icon for diagnostics --- Cargo.lock | 2 +- assets/icons/arrow_circle.svg | 1 + crates/diagnostics/src/items.rs | 21 ++++++++++++++++----- crates/ui/src/components/icon.rs | 2 ++ 4 files changed, 20 insertions(+), 6 deletions(-) create mode 100644 assets/icons/arrow_circle.svg 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",