Handle up key
(&mut self)
| 424 | |
| 425 | // Handle up key |
| 426 | fn handle_up(&mut self) |
| 427 | { |
| 428 | self.compupdate(); |
| 429 | let n = self.hist.items.len(); |
| 430 | if n == 0 |
| 431 | { |
| 432 | return; |
| 433 | } |
| 434 | |
| 435 | let (bs, i) = match self.hist.pos |
| 436 | { |
| 437 | Some(i) => (self.hist.items[i].chars().count(), cmp::max(i, 1) - 1), |
| 438 | None => (self.ln.len(), n - 1), |
| 439 | }; |
| 440 | |
| 441 | let ln = &self.hist.items[i]; |
| 442 | let blank = ' '.to_string().repeat((self.offset + bs) - self.cur); |
| 443 | let erase = '\x08'.to_string().repeat(bs); |
| 444 | print!("{}{}{}", blank, erase, ln); |
| 445 | self.cur = self.offset + ln.chars().count(); |
| 446 | self.hist.pos = Some(i); |
| 447 | } |
| 448 | |
| 449 | |
| 450 | // Update history |
no test coverage detected