diff options
author | Santo Cariotti <santo@dcariotti.me> | 2024-10-20 11:21:33 +0200 |
---|---|---|
committer | Santo Cariotti <santo@dcariotti.me> | 2024-10-20 11:21:33 +0200 |
commit | b14a75ec34d40afcb1b83e8393e15a3030f2114d (patch) | |
tree | c617cdb4ff9d0b58823836fdc9676681b02f6e64 | |
parent | fbe9d908ff190dd91b2f4cc6fa713a0cb2f6a419 (diff) |
Fix lines scrolling
-rw-r--r-- | src/ui.rs | 12 |
1 files changed, 9 insertions, 3 deletions
@@ -127,20 +127,26 @@ fn handle_events(ui: &mut UI) -> io::Result<bool> { return Ok(true); } KeyCode::Char('j') | KeyCode::Down => { - if ui.scroll < (ui.max_lines - ui.height + 1) { + if (ui.max_lines >= ui.height) && ui.scroll < (ui.max_lines - ui.height + 1) + { ui.scroll += 1; } } KeyCode::Char('J') | KeyCode::Char('G') => { - ui.scroll = ui.max_lines - ui.height + 1; + if (ui.max_lines >= ui.height) && ui.scroll < (ui.max_lines - ui.height + 1) + { + ui.scroll = ui.max_lines - ui.height + 1; + } } KeyCode::Char('k') | KeyCode::Up => { if ui.scroll > 1 { ui.scroll -= 1; + } else { + ui.scroll = 0; } } KeyCode::Char('K') | KeyCode::Char('0') => { - ui.scroll = 1; + ui.scroll = 0; } _ => {} } |