mirror of
https://github.com/zed-industries/zed.git
synced 2025-02-06 02:37:21 +00:00
Make diagnostic processing order independent
Co-authored-by: max <max@zed.dev>
This commit is contained in:
parent
50682dc685
commit
bd4d7551a5
1 changed files with 5 additions and 1 deletions
|
@ -2557,7 +2557,7 @@ impl Project {
|
||||||
pub fn update_diagnostics(
|
pub fn update_diagnostics(
|
||||||
&mut self,
|
&mut self,
|
||||||
language_server_id: usize,
|
language_server_id: usize,
|
||||||
params: lsp::PublishDiagnosticsParams,
|
mut params: lsp::PublishDiagnosticsParams,
|
||||||
disk_based_sources: &[String],
|
disk_based_sources: &[String],
|
||||||
cx: &mut ModelContext<Self>,
|
cx: &mut ModelContext<Self>,
|
||||||
) -> Result<()> {
|
) -> Result<()> {
|
||||||
|
@ -2569,6 +2569,10 @@ impl Project {
|
||||||
let mut primary_diagnostic_group_ids = HashMap::default();
|
let mut primary_diagnostic_group_ids = HashMap::default();
|
||||||
let mut sources_by_group_id = HashMap::default();
|
let mut sources_by_group_id = HashMap::default();
|
||||||
let mut supporting_diagnostics = HashMap::default();
|
let mut supporting_diagnostics = HashMap::default();
|
||||||
|
|
||||||
|
// Ensure that primary diagnostics are always the most severe
|
||||||
|
params.diagnostics.sort_by_key(|item| item.severity);
|
||||||
|
|
||||||
for diagnostic in ¶ms.diagnostics {
|
for diagnostic in ¶ms.diagnostics {
|
||||||
let source = diagnostic.source.as_ref();
|
let source = diagnostic.source.as_ref();
|
||||||
let code = diagnostic.code.as_ref().map(|code| match code {
|
let code = diagnostic.code.as_ref().map(|code| match code {
|
||||||
|
|
Loading…
Reference in a new issue