Handle down key
(&mut self)
| 309 | |
| 310 | // Handle down key |
| 311 | fn handle_down(&mut self) |
| 312 | { |
| 313 | self.compupdate(); |
| 314 | let n = self.hist.items.len(); |
| 315 | if n == 0 |
| 316 | { |
| 317 | return; |
| 318 | } |
| 319 | |
| 320 | let (bs, i) = match self.hist.pos |
| 321 | { |
| 322 | Some(i) => (self.hist.items[i].chars().count(), i + 1), |
| 323 | None => return, |
| 324 | }; |
| 325 | |
| 326 | let (pos, ln) = if i < n |
| 327 | { |
| 328 | (Some(i), self.hist.items[i].clone()) |
| 329 | } |
| 330 | else |
| 331 | { |
| 332 | (None, self.ln.iter().collect()) |
| 333 | }; |
| 334 | |
| 335 | let erase = '\x08'.to_string().repeat(bs); |
| 336 | print!("{}{}", erase, ln); |
| 337 | self.cur = self.offset + ln.chars().count(); |
| 338 | self.hist.pos = pos; |
| 339 | } |
| 340 | |
| 341 | |
| 342 | // Handle forward key |
no test coverage detected