on master help sign in
Use DoubleEndedIterator instead of collect to Vec for reversing
0637691Philipp Mildenberger
helix-term/src/commands.rs−2
@@ -3076,8 +3076,6 @@ fn goto_prev_diag(cx: &mut Context) {
3076
3076
3077 let diag = doc
3077 let diag = doc
3078 .shown_diagnostics()
3078 .shown_diagnostics()
3079− .collect::<Vec<_>>()
3080− .into_iter()
3081 .rev()
3079 .rev()
3082 .find(|diag| diag.range.start < cursor_pos)
3080 .find(|diag| diag.range.start < cursor_pos)
3083 .or_else(|| doc.shown_diagnostics().last());
3081 .or_else(|| doc.shown_diagnostics().last());
helix-view/src/document.rs+1−1
@@ -1607,7 +1607,7 @@ impl Document {
1607 &self.diagnostics
1607 &self.diagnostics
1608 }
1608 }
1609
1609
1610− pub fn shown_diagnostics(&self) -> impl Iterator<Item = &Diagnostic> {
1610+ pub fn shown_diagnostics(&self) -> impl Iterator<Item = &Diagnostic> + DoubleEndedIterator {
1611 let ls_ids: HashSet<_> = self
1611 let ls_ids: HashSet<_> = self
1612 .language_servers_with_feature(LanguageServerFeature::Diagnostics)
1612 .language_servers_with_feature(LanguageServerFeature::Diagnostics)
1613 .iter()
1613 .iter()