Use binary_search when looking up diagnostics

They're sorted by range so they should also be sorted by line
pull/1236/head
Blaž Hrastnik 3 years ago
parent cab09093dd
commit a2b22ec152

@ -22,7 +22,7 @@ pub fn diagnostic<'doc>(
Box::new(move |line: usize, _selected: bool, out: &mut String| { Box::new(move |line: usize, _selected: bool, out: &mut String| {
use helix_core::diagnostic::Severity; use helix_core::diagnostic::Severity;
if let Some(diagnostic) = diagnostics.iter().find(|d| d.line == line) { if let Some(diagnostic) = diagnostics.binary_search_by_key(&line, |d| d.line) {
write!(out, "●").unwrap(); write!(out, "●").unwrap();
return Some(match diagnostic.severity { return Some(match diagnostic.severity {
Some(Severity::Error) => error, Some(Severity::Error) => error,

Loading…
Cancel
Save