Make prompt suggestions greyed out
This commit is contained in:
parent
042d03269e
commit
24cd7f6adf
2 changed files with 15 additions and 5 deletions
|
@ -268,6 +268,7 @@ These scopes are used for theming the editor interface.
|
|||
| `ui.help` | Description box for commands |
|
||||
| `ui.text` | Command prompts, popup text, etc. |
|
||||
| `ui.text.focus` | |
|
||||
| `ui.text.inactive` | Same as `ui.text` but when the text is inactive (e.g. suggestions) |
|
||||
| `ui.text.info` | The key: command text in `ui.popup.info` boxes |
|
||||
| `ui.virtual.ruler` | Ruler columns (see the [`editor.rulers` config][editor-section]) |
|
||||
| `ui.virtual.whitespace` | Visible whitespace characters |
|
||||
|
|
|
@ -352,6 +352,7 @@ impl Prompt {
|
|||
let prompt_color = theme.get("ui.text");
|
||||
let completion_color = theme.get("ui.menu");
|
||||
let selected_color = theme.get("ui.menu.selected");
|
||||
let suggestion_color = theme.get("ui.text.inactive");
|
||||
// completion
|
||||
|
||||
let max_len = self
|
||||
|
@ -450,21 +451,29 @@ impl Prompt {
|
|||
// render buffer text
|
||||
surface.set_string(area.x, area.y + line, &self.prompt, prompt_color);
|
||||
|
||||
let input: Cow<str> = if self.line.is_empty() {
|
||||
let (input, is_suggestion): (Cow<str>, bool) = if self.line.is_empty() {
|
||||
// latest value in the register list
|
||||
self.history_register
|
||||
match self
|
||||
.history_register
|
||||
.and_then(|reg| cx.editor.registers.last(reg))
|
||||
.map(|entry| entry.into())
|
||||
.unwrap_or_else(|| Cow::from(""))
|
||||
{
|
||||
Some(value) => (value, true),
|
||||
None => (Cow::from(""), false),
|
||||
}
|
||||
} else {
|
||||
self.line.as_str().into()
|
||||
(self.line.as_str().into(), false)
|
||||
};
|
||||
|
||||
surface.set_string(
|
||||
area.x + self.prompt.len() as u16,
|
||||
area.y + line,
|
||||
&input,
|
||||
prompt_color,
|
||||
if is_suggestion {
|
||||
suggestion_color
|
||||
} else {
|
||||
prompt_color
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue