A context manager to delegate to another reader.
(self)
| 617 | |
| 618 | @contextmanager |
| 619 | def suspend(self) -> SimpleContextManager: |
| 620 | """A context manager to delegate to another reader.""" |
| 621 | prev_state = {f.name: getattr(self, f.name) for f in fields(self)} |
| 622 | try: |
| 623 | self.restore() |
| 624 | yield |
| 625 | finally: |
| 626 | for arg in ("msg", "ps1", "ps2", "ps3", "ps4", "paste_mode"): |
| 627 | setattr(self, arg, prev_state[arg]) |
| 628 | self.prepare() |
| 629 | |
| 630 | @contextmanager |
| 631 | def suspend_colorization(self) -> SimpleContextManager: |