From 7a411e269b59cb7754eadacaf29a18e02845040b Mon Sep 17 00:00:00 2001 From: Jesse Luehrs Date: Thu, 11 Nov 2021 04:36:09 -0500 Subject: handle the focused cursor being past the end of output --- src/state.rs | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'src/state.rs') diff --git a/src/state.rs b/src/state.rs index 5a1e1bd..854c306 100644 --- a/src/state.rs +++ b/src/state.rs @@ -25,13 +25,16 @@ impl State { pub async fn render(&mut self) -> anyhow::Result<()> { self.output.clear(); - if let Focus::Readline = self.focus { - self.history - .render(&mut self.output, self.readline.lines()) - .await?; - self.readline.render(&mut self.output).await?; - } else { - self.history.render(&mut self.output, 0).await?; + match self.focus { + Focus::Readline => { + self.history + .render(&mut self.output, self.readline.lines(), None) + .await?; + self.readline.render(&mut self.output).await?; + } + Focus::History(idx) => { + self.history.render(&mut self.output, 0, Some(idx)).await?; + } } self.output.refresh().await?; Ok(()) -- cgit v1.2.3-54-g00ecf