@@ -46,7 +46,7 @@ use workspace::{
actions!(diagnostics, [Deploy, ToggleWarnings]);
-struct IncludeWarnings(bool);
+pub(crate) struct IncludeWarnings(bool);
impl Global for IncludeWarnings {}
pub fn init(cx: &mut App) {
@@ -379,7 +379,6 @@ impl ProjectDiagnosticsEditor {
Point::zero()..buffer_snapshot.max_point(),
false,
)
- .filter(|d| !(d.diagnostic.is_primary && d.diagnostic.is_unnecessary))
.collect::<Vec<_>>();
let unchanged = this.update(cx, |this, _| {
if this.diagnostics.get(&buffer_id).is_some_and(|existing| {
@@ -9,7 +9,7 @@ use language::Diagnostic;
use ui::{Button, ButtonLike, Color, Icon, IconName, Label, Tooltip, h_flex, prelude::*};
use workspace::{StatusItemView, ToolbarItemEvent, Workspace, item::ItemHandle};
-use crate::{Deploy, ProjectDiagnosticsEditor};
+use crate::{Deploy, IncludeWarnings, ProjectDiagnosticsEditor};
pub struct DiagnosticIndicator {
summary: project::DiagnosticSummary,
@@ -94,6 +94,11 @@ impl Render for DiagnosticIndicator {
})
.on_click(cx.listener(|this, _, window, cx| {
if let Some(workspace) = this.workspace.upgrade() {
+ if this.summary.error_count == 0 && this.summary.warning_count > 0 {
+ cx.update_global(|show_warnings: &mut IncludeWarnings, _| {
+ show_warnings.0 = true
+ });
+ }
workspace.update(cx, |workspace, cx| {
ProjectDiagnosticsEditor::deploy(
workspace,