@@ -1240,8 +1240,13 @@ impl Document {
1244− .sort_unstable_by_key(|diagnostic| diagnostic.range);
1243+ self.diagnostics.sort_unstable_by_key(|diagnostic| {
1246+ diagnostic.severity,
1247+ diagnostic.language_server_id,
1246 // Update the inlay hint annotations' positions, helping ensure they are displayed in the proper place
1251 // Update the inlay hint annotations' positions, helping ensure they are displayed in the proper place
1247 let apply_inlay_hint_changes = |annotations: &mut Rc<[InlineAnnotation]>| {
1252 let apply_inlay_hint_changes = |annotations: &mut Rc<[InlineAnnotation]>| {
@@ -1738,8 +1743,13 @@ impl Document {
1740 self.diagnostics.extend(diagnostics);
1745 self.diagnostics.extend(diagnostics);
1742− .sort_unstable_by_key(|diagnostic| diagnostic.range);
1746+ self.diagnostics.sort_unstable_by_key(|diagnostic| {
1749+ diagnostic.severity,
1750+ diagnostic.language_server_id,
1745 pub fn clear_diagnostics(&mut self, language_server_id: usize) {
1755 pub fn clear_diagnostics(&mut self, language_server_id: usize) {