on master help sign in
ui: Paginate prompt completion
commit39dc09e6c4172299bc79de4c1c52288d3f624bd7 authorBlaž Hrastnik <blaz@mxxn.io> dateWed 23 Jun 2021, 15:38 (5 years ago) parent3606d8b
1 file changed+9−5
helix-term/src/ui/prompt.rs+9−5
helix-term/src/ui/prompt.rs+9−5
@@ -292,17 +292,21 @@ impl Prompt {
292292 let area = completion_area;
293293 let background = theme.get("ui.statusline");
294294
295+ let items = height as usize * cols as usize;
296+
297+ let offset = self
298+ .selection
299+ .map(|selection| selection / items * items)
300+ .unwrap_or_default();
301+
295302 surface.clear_with(area, background);
296303
297304 let mut row = 0;
298305 let mut col = 0;
299306
300307 // TODO: paginate
301− for (i, (_range, completion)) in self
302− .completion
303− .iter()
304− .enumerate()
305− .take(height as usize * cols as usize)
308+ for (i, (_range, completion)) in
309+ self.completion.iter().enumerate().skip(offset).take(items)
306310 {
307311 let color = if Some(i) == self.selection {
308312 // Style::default().bg(Color::Rgb(104, 60, 232))