| 467 | |
| 468 | class show_history(Command): |
| 469 | def do(self) -> None: |
| 470 | from .pager import get_pager |
| 471 | from site import gethistoryfile |
| 472 | |
| 473 | history = os.linesep.join(self.reader.history[:]) |
| 474 | self.reader.console.restore() |
| 475 | pager = get_pager() |
| 476 | pager(history, gethistoryfile()) |
| 477 | self.reader.console.prepare() |
| 478 | |
| 479 | # We need to copy over the state so that it's consistent between |
| 480 | # console and reader, and console does not overwrite/append stuff |
| 481 | self.reader.console.screen = self.reader.screen.copy() |
| 482 | self.reader.console.posxy = self.reader.cxy |
| 483 | |
| 484 | |
| 485 | class paste_mode(Command): |