| 455 | |
| 456 | class show_history(Command): |
| 457 | def do(self) -> None: |
| 458 | from .pager import get_pager |
| 459 | from site import gethistoryfile # type: ignore[attr-defined] |
| 460 | |
| 461 | history = os.linesep.join(self.reader.history[:]) |
| 462 | self.reader.console.restore() |
| 463 | pager = get_pager() |
| 464 | pager(history, gethistoryfile()) |
| 465 | self.reader.console.prepare() |
| 466 | |
| 467 | # We need to copy over the state so that it's consistent between |
| 468 | # console and reader, and console does not overwrite/append stuff |
| 469 | self.reader.console.screen = self.reader.screen.copy() |
| 470 | self.reader.console.posxy = self.reader.cxy |
| 471 | |
| 472 | |
| 473 | class paste_mode(Command): |