aboutsummaryrefslogtreecommitdiff
path: root/helix-view/src/document.rs
diff options
context:
space:
mode:
Diffstat (limited to 'helix-view/src/document.rs')
-rw-r--r--helix-view/src/document.rs18
1 files changed, 14 insertions, 4 deletions
diff --git a/helix-view/src/document.rs b/helix-view/src/document.rs
index b4971c8a..af950a3f 100644
--- a/helix-view/src/document.rs
+++ b/helix-view/src/document.rs
@@ -1240,8 +1240,13 @@ impl Document {
true
});
- self.diagnostics
- .sort_unstable_by_key(|diagnostic| diagnostic.range);
+ self.diagnostics.sort_unstable_by_key(|diagnostic| {
+ (
+ diagnostic.range,
+ diagnostic.severity,
+ diagnostic.language_server_id,
+ )
+ });
// Update the inlay hint annotations' positions, helping ensure they are displayed in the proper place
let apply_inlay_hint_changes = |annotations: &mut Rc<[InlineAnnotation]>| {
@@ -1738,8 +1743,13 @@ impl Document {
});
}
self.diagnostics.extend(diagnostics);
- self.diagnostics
- .sort_unstable_by_key(|diagnostic| diagnostic.range);
+ self.diagnostics.sort_unstable_by_key(|diagnostic| {
+ (
+ diagnostic.range,
+ diagnostic.severity,
+ diagnostic.language_server_id,
+ )
+ });
}
pub fn clear_diagnostics(&mut self, language_server_id: usize) {