mirror of
https://github.com/atuinsh/atuin.git
synced 2025-01-01 03:51:12 +01:00
fix(ui): don't preserve for empty space (#1712)
For the following situation: $ atuin search -i --inline-height 15 [ HOST ] query > 1m 19d ago item 1 1 0s 1mo ago item 2 2 0s 1mo ago item 3 3 0s 1mo ago item 4 4 0s 1mo ago item 5 5 0s 1mo ago item 6 Atuin v17.2.1 [...] Scrolling item 6 results: [ HOST ] query 0s 1mo ago item 3 0s 1mo ago item 4 0s 1mo ago item 5 > 0s 1mo ago item 6 Atuin v17.2.1 [...] With this patch it becomes: [ HOST ] query 1m 19d ago item 1 0s 1mo ago item 2 0s 1mo ago item 3 0s 1mo ago item 4 0s 1mo ago item 5 > 0s 1mo ago item 6 Atuin v17.2.1 [...]
This commit is contained in:
parent
87e19df9c5
commit
1a432b61ee
@ -109,7 +109,7 @@ impl<'a> HistoryList<'a> {
|
|||||||
fn get_items_bounds(&self, selected: usize, offset: usize, height: usize) -> (usize, usize) {
|
fn get_items_bounds(&self, selected: usize, offset: usize, height: usize) -> (usize, usize) {
|
||||||
let offset = offset.min(self.history.len().saturating_sub(1));
|
let offset = offset.min(self.history.len().saturating_sub(1));
|
||||||
|
|
||||||
let max_scroll_space = height.min(10);
|
let max_scroll_space = height.min(10).min(self.history.len() - selected);
|
||||||
if offset + height < selected + max_scroll_space {
|
if offset + height < selected + max_scroll_space {
|
||||||
let end = selected + max_scroll_space;
|
let end = selected + max_scroll_space;
|
||||||
(end - height, end)
|
(end - height, end)
|
||||||
|
Loading…
Reference in New Issue
Block a user