fixes showing the last prompt on empty input (#2870)

This commit is contained in:
Saber Haj Rabiee 2022-06-24 08:14:48 -07:00 committed by GitHub
parent d948ace67b
commit 3dbad0442f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 6 additions and 2 deletions

View file

@ -73,6 +73,10 @@ impl Registers {
self.read(name).and_then(|entries| entries.first()) self.read(name).and_then(|entries| entries.first())
} }
pub fn last(&self, name: char) -> Option<&String> {
self.read(name).and_then(|entries| entries.last())
}
pub fn inner(&self) -> &HashMap<char, Register> { pub fn inner(&self) -> &HashMap<char, Register> {
&self.inner &self.inner
} }

View file

@ -443,7 +443,7 @@ impl Prompt {
let input: Cow<str> = if self.line.is_empty() { let input: Cow<str> = if self.line.is_empty() {
// latest value in the register list // latest value in the register list
self.history_register self.history_register
.and_then(|reg| cx.editor.registers.first(reg)) .and_then(|reg| cx.editor.registers.last(reg))
.map(|entry| entry.into()) .map(|entry| entry.into())
.unwrap_or_else(|| Cow::from("")) .unwrap_or_else(|| Cow::from(""))
} else { } else {
@ -522,7 +522,7 @@ impl Component for Prompt {
let input: Cow<str> = if self.line.is_empty() { let input: Cow<str> = if self.line.is_empty() {
// latest value in the register list // latest value in the register list
self.history_register self.history_register
.and_then(|reg| cx.editor.registers.first(reg).cloned()) .and_then(|reg| cx.editor.registers.last(reg).cloned())
.map(|entry| entry.into()) .map(|entry| entry.into())
.unwrap_or_else(|| Cow::from("")) .unwrap_or_else(|| Cow::from(""))
} else { } else {