mirror of
https://github.com/sxyazi/yazi.git
synced 2026-07-25 08:41:05 +00:00
simplify offset logic, make it deterministic
This commit is contained in:
parent
7fa9c4da72
commit
499f5f4c73
1 changed files with 3 additions and 9 deletions
|
|
@ -39,15 +39,9 @@ impl Input {
|
|||
));
|
||||
|
||||
let (limit, snap) = (self.limit(), self.snap_mut());
|
||||
let half_limit = limit / 2;
|
||||
let max_offset = snap.cursor.saturating_sub(half_limit);
|
||||
let min_offset = max_offset.min(snap.len().saturating_sub(limit - 1));
|
||||
if snap.offset > max_offset {
|
||||
snap.offset = max_offset;
|
||||
} else if snap.offset < min_offset {
|
||||
snap.offset = min_offset;
|
||||
} else if snap.value.is_empty() {
|
||||
snap.offset = 0;
|
||||
let offset = snap.cursor.saturating_sub(limit / 2).min(snap.len().saturating_sub(limit - 1));
|
||||
if snap.offset != offset {
|
||||
snap.offset = offset;
|
||||
} else {
|
||||
let delta = snap.mode.delta();
|
||||
let s = snap.slice(snap.offset..snap.cursor + delta);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue