summaryrefslogtreecommitdiffstats
path: root/src/readline.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/readline.rs')
-rw-r--r--src/readline.rs11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/readline.rs b/src/readline.rs
index d396d3d..37c466f 100644
--- a/src/readline.rs
+++ b/src/readline.rs
@@ -19,6 +19,7 @@ impl Readline {
pub async fn handle_key(
&mut self,
key: textmode::Key,
+ history_size: usize,
) -> Option<crate::action::Action> {
match key {
textmode::Key::String(s) => self.add_input(&s),
@@ -42,9 +43,13 @@ impl Readline {
textmode::Key::Left => self.cursor_left(),
textmode::Key::Right => self.cursor_right(),
textmode::Key::Up => {
- return Some(crate::action::Action::UpdateFocus(
- crate::action::Focus::Scrolling(Some(usize::MAX)),
- ))
+ if history_size > 0 {
+ return Some(crate::action::Action::UpdateFocus(
+ crate::action::Focus::Scrolling(Some(
+ history_size - 1,
+ )),
+ ));
+ }
}
_ => {}
}