aboutsummaryrefslogtreecommitdiff
path: root/helix-view
diff options
context:
space:
mode:
authorPascal Kuthe2023-05-20 19:29:23 +0000
committerBlaž Hrastnik2023-12-27 06:28:14 +0000
commit783ff27b1ba901e30dbf9897f4faaeb123bebb12 (patch)
tree105199d4111ad84613075780d98178f3552f55fe /helix-view
parent515ef17207878b78e4f5eda8bf710fa0aa1eae87 (diff)
consistent diagnostic sorting
Diffstat (limited to 'helix-view')
-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) {