@@ -352,6 +352,7 @@ impl Prompt {
352 let prompt_color = theme.get("ui.text");
352 let prompt_color = theme.get("ui.text");
353 let completion_color = theme.get("ui.menu");
353 let completion_color = theme.get("ui.menu");
354 let selected_color = theme.get("ui.menu.selected");
354 let selected_color = theme.get("ui.menu.selected");
355+ let suggestion_color = theme.get("ui.text.inactive");
355 // completion
356 // completion
357 let max_len = self
358 let max_len = self
@@ -450,21 +451,29 @@ impl Prompt {
450 // render buffer text
451 // render buffer text
451 surface.set_string(area.x, area.y + line, &self.prompt, prompt_color);
452 surface.set_string(area.x, area.y + line, &self.prompt, prompt_color);
453− let input: Cow<str> = if self.line.is_empty() {
454+ let (input, is_suggestion): (Cow<str>, bool) = if self.line.is_empty() {
454 // latest value in the register list
455 // latest value in the register list
455− self.history_register
457+ .history_register
456 .and_then(|reg| cx.editor.registers.last(reg))
458 .and_then(|reg| cx.editor.registers.last(reg))
457 .map(|entry| entry.into())
459 .map(|entry| entry.into())
458− .unwrap_or_else(|| Cow::from(""))
460+ {
461+ Some(value) => (value, true),
462+ None => (Cow::from(""), false),
460− self.line.as_str().into()
465+ (self.line.as_str().into(), false)
463 surface.set_string(
468 surface.set_string(
464 area.x + self.prompt.len() as u16,
469 area.x + self.prompt.len() as u16,
465 area.y + line,
470 area.y + line,
467− prompt_color,
475+ prompt_color