@@ -393,6 +393,8 @@ impl<T: 'static> Component for Picker<T> {
396+ let text_style = cx.editor.theme.get("ui.text");
396 // -- Render the frame:
398 // -- Render the frame:
397 // clear area
399 // clear area
398 let background = cx.editor.theme.get("ui.background");
400 let background = cx.editor.theme.get("ui.background");
@@ -408,6 +410,15 @@ impl<T: 'static> Component for Picker<T> {
409 // -- Render the input bar:
411 // -- Render the input bar:
413+ let count = format!("{}/{}", self.matches.len(), self.options.len());
414+ surface.set_stringn(
415+ (area.x + area.width).saturating_sub(count.len() as u16 + 1),
418+ (count.len()).min(area.width as usize),
411 let area = Rect::new(inner.x + 1, inner.y, inner.width - 1, 1);
422 let area = Rect::new(inner.x + 1, inner.y, inner.width - 1, 1);
412 self.prompt.render(area, surface, cx);
423 self.prompt.render(area, surface, cx);
@@ -425,7 +436,6 @@ impl<T: 'static> Component for Picker<T> {
425 // subtract the area of the prompt (-2) and current item marker " > " (-3)
436 // subtract the area of the prompt (-2) and current item marker " > " (-3)
426 let inner = Rect::new(inner.x + 3, inner.y + 2, inner.width - 3, inner.height - 2);
437 let inner = Rect::new(inner.x + 3, inner.y + 2, inner.width - 3, inner.height - 2);
428− let style = cx.editor.theme.get("ui.text");
429 let selected = Style::default().fg(Color::Rgb(255, 255, 255));
439 let selected = Style::default().fg(Color::Rgb(255, 255, 255));
431 let rows = inner.height;
441 let rows = inner.height;
@@ -448,7 +458,7 @@ impl<T: 'static> Component for Picker<T> {
448 if i == (self.cursor - offset) {
458 if i == (self.cursor - offset) {
451− style
461+ text_style