Dismiss active diagnostics on invalidation (#25646)

When migrating to gpui2,
588976d27a (diff-a3da3181e4ab4f73aa1697d7b6dc0caa0c17b2a187fb83b076dfc0234ec91f54R21)
removed the diagnostic style for "active but invalid" case: presumably,
it served as some sort of a cursor to show where to move on after the
diagnostics update, on the next `GoTo[Prev]Diagnostic` action call.

As this change went unchanged for some time, another approach is tested
now, to be more integrated with inline diagnostics: now, the active
state is cleared

Same as before this change, another `GoTo[Prev]Diagnostic` action call
will be needed to re-expand a new diagnostics, but this change makes
this expansion to happen after the cursor — before the change, Zed would
continue from the stale diagnostics.

Release Notes:

- Fixed active diagnostics becoming stale
This commit is contained in:
Kirill Bulatov 2025-02-26 22:30:23 +02:00 committed by GitHub
parent d694458659
commit d2b49de0e4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 116 additions and 15 deletions

View file

@ -562,9 +562,7 @@ impl ProjectDiagnosticsEditor {
)),
height: diagnostic.message.matches('\n').count() as u32 + 1,
style: BlockStyle::Fixed,
render: diagnostic_block_renderer(
diagnostic, None, true, true,
),
render: diagnostic_block_renderer(diagnostic, None, true),
priority: 0,
});
}