summaryrefslogtreecommitdiffstats
path: root/src/state.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/state.rs')
-rw-r--r--src/state.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/state.rs b/src/state.rs
index eee39ae..888a3ef 100644
--- a/src/state.rs
+++ b/src/state.rs
@@ -234,7 +234,8 @@ impl State {
crate::action::Action::Run(ref cmd) => {
let idx =
self.history.run(cmd, action_w.clone()).await.unwrap();
- self.focus = crate::action::Focus::History(idx);
+ self.set_focus(crate::action::Focus::History(idx), None)
+ .await;
self.hide_readline = true;
}
crate::action::Action::UpdateFocus(new_focus) => {
@@ -297,6 +298,13 @@ impl State {
self.focus = new_focus;
self.hide_readline = false;
self.scene = self.default_scene(new_focus, entry).await;
+ self.history
+ .make_focus_visible(
+ self.readline.lines(),
+ self.focus_idx(),
+ matches!(self.focus, crate::action::Focus::Scrolling(_)),
+ )
+ .await;
}
fn focus_idx(&self) -> Option<usize> {