(self)
| 418 | |
| 419 | class delete(EditCommand): |
| 420 | def do(self) -> None: |
| 421 | r = self.reader |
| 422 | b = r.buffer |
| 423 | if self.event[-1] == "\004": |
| 424 | if b and b[-1].endswith("\n"): |
| 425 | self.finish = True |
| 426 | elif ( |
| 427 | r.pos == 0 |
| 428 | and len(b) == 0 # this is something of a hack |
| 429 | ): |
| 430 | r.update_screen() |
| 431 | r.console.finish() |
| 432 | raise EOFError |
| 433 | |
| 434 | for i in range(r.get_arg()): |
| 435 | if r.pos != len(b): |
| 436 | del b[r.pos] |
| 437 | r.dirty = True |
| 438 | else: |
| 439 | self.reader.error("end of buffer") |
| 440 | |
| 441 | |
| 442 | class accept(FinishCommand): |
nothing calls this directly
no test coverage detected