on master help sign in
Fix crash with filtered diagnostics in gutter (e.g. when diagnostics aren't visible)
commit2a21b939c432e4b5a186df780a1e97d20ff53120 authorPhilipp Mildenberger <philipp@mildenberger.me> dateTue 28 Mar 2023, 04:15 (4 years ago) parent93fd79a
1 file changed+9−10
helix-view/src/gutter.rs+9−10
helix-view/src/gutter.rs+9−10
@@ -83,16 +83,15 @@ pub fn diagnostic<'doc>(
8383
8484 let diagnostics_on_line = after.chain(before);
8585
86− // This unwrap is safe because the iterator cannot be empty as it contains at least the item found by the binary search.
87− let diagnostic = diagnostics_on_line.max_by_key(|d| d.severity).unwrap();
88−
89− write!(out, "●").unwrap();
90− return Some(match diagnostic.severity {
91− Some(Severity::Error) => error,
92− Some(Severity::Warning) | None => warning,
93− Some(Severity::Info) => info,
94− Some(Severity::Hint) => hint,
95− });
86+ if let Some(diagnostic) = diagnostics_on_line.max_by_key(|d| d.severity) {
87+ write!(out, "●").ok();
88+ return Some(match diagnostic.severity {
89+ Some(Severity::Error) => error,
90+ Some(Severity::Warning) | None => warning,
91+ Some(Severity::Info) => info,
92+ Some(Severity::Hint) => hint,
93+ });
94+ }
9695 }
9796 None
9897 },