feat: implement tab switch wraparound

This commit is contained in:
Ctem 2023-09-16 10:07:43 +00:00
parent 902c094224
commit a9929e0cdf
No known key found for this signature in database
GPG key ID: 7F6702F5FC77041B

View file

@ -33,7 +33,11 @@ impl Tabs {
} }
pub fn switch(&mut self, idx: isize, rel: bool) -> bool { pub fn switch(&mut self, idx: isize, rel: bool) -> bool {
let idx = if rel { self.absolute(idx) } else { idx as usize }; let idx = if rel {
(self.idx as isize + idx).rem_euclid(self.items.len() as isize) as usize
} else {
idx as usize
};
if idx == self.idx || idx >= self.items.len() { if idx == self.idx || idx >= self.items.len() {
return false; return false;