diff options
author | Blaž Hrastnik | 2021-11-06 09:58:40 +0000 |
---|---|---|
committer | Blaž Hrastnik | 2021-11-06 09:58:58 +0000 |
commit | e80708eba7e9959fa720e2563231bba542570295 (patch) | |
tree | c5c88732d81a4ca0859a96197a319716beb1dcac | |
parent | 0f4cd73000140cd9872f291ddb1473f96cbc7364 (diff) |
Make sure document diagnostics are sorted
-rw-r--r-- | helix-core/src/diagnostic.rs | 2 | ||||
-rw-r--r-- | helix-view/src/document.rs | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/helix-core/src/diagnostic.rs b/helix-core/src/diagnostic.rs index ab47e075..ad1ba16a 100644 --- a/helix-core/src/diagnostic.rs +++ b/helix-core/src/diagnostic.rs @@ -10,7 +10,7 @@ pub enum Severity { } /// A range of `char`s within the text. -#[derive(Debug)] +#[derive(Debug, Clone, Copy, PartialOrd, Ord, PartialEq, Eq)] pub struct Range { pub start: usize, pub end: usize, diff --git a/helix-view/src/document.rs b/helix-view/src/document.rs index 0d86143b..ce5df8ee 100644 --- a/helix-view/src/document.rs +++ b/helix-view/src/document.rs @@ -918,6 +918,9 @@ impl Document { pub fn set_diagnostics(&mut self, diagnostics: Vec<Diagnostic>) { self.diagnostics = diagnostics; + // sort by range + self.diagnostics + .sort_unstable_by_key(|diagnostic| diagnostic.range); } } |