diff options
Diffstat (limited to 'default-plugins/strider/src/main.rs')
-rw-r--r-- | default-plugins/strider/src/main.rs | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/default-plugins/strider/src/main.rs b/default-plugins/strider/src/main.rs index 2e06240af..1ad2e70ce 100644 --- a/default-plugins/strider/src/main.rs +++ b/default-plugins/strider/src/main.rs @@ -43,6 +43,9 @@ impl ZellijPlugin for State { Key::Down | Key::Char('j') => { let currently_selected = self.selected(); let next = self.selected().saturating_add(1); + if next >= self.files.len() { + refresh_directory(self); + } *self.selected_mut() = min(self.files.len().saturating_sub(1), next); if currently_selected != self.selected() { should_render = true; @@ -76,6 +79,9 @@ impl ZellijPlugin for State { Mouse::ScrollDown(_) => { let currently_selected = self.selected(); let next = self.selected().saturating_add(1); + if next >= self.files.len() { + refresh_directory(self); + } *self.selected_mut() = min(self.files.len().saturating_sub(1), next); if currently_selected != self.selected() { should_render = true; @@ -121,6 +127,7 @@ impl ZellijPlugin for State { } fn render(&mut self, rows: usize, cols: usize) { + self.current_rows = Some(rows); for i in 0..rows { if self.selected() < self.scroll() { *self.scroll_mut() = self.selected(); |