summaryrefslogtreecommitdiff
path: root/venv/lib/python3.11/site-packages/rich/pager.py
diff options
context:
space:
mode:
Diffstat (limited to 'venv/lib/python3.11/site-packages/rich/pager.py')
-rw-r--r--venv/lib/python3.11/site-packages/rich/pager.py34
1 files changed, 34 insertions, 0 deletions
diff --git a/venv/lib/python3.11/site-packages/rich/pager.py b/venv/lib/python3.11/site-packages/rich/pager.py
new file mode 100644
index 0000000..a3f7aa6
--- /dev/null
+++ b/venv/lib/python3.11/site-packages/rich/pager.py
@@ -0,0 +1,34 @@
+from abc import ABC, abstractmethod
+from typing import Any
+
+
+class Pager(ABC):
+ """Base class for a pager."""
+
+ @abstractmethod
+ def show(self, content: str) -> None:
+ """Show content in pager.
+
+ Args:
+ content (str): Content to be displayed.
+ """
+
+
+class SystemPager(Pager):
+ """Uses the pager installed on the system."""
+
+ def _pager(self, content: str) -> Any: #  pragma: no cover
+ return __import__("pydoc").pager(content)
+
+ def show(self, content: str) -> None:
+ """Use the same pager used by pydoc."""
+ self._pager(content)
+
+
+if __name__ == "__main__": # pragma: no cover
+ from .__main__ import make_test_card
+ from .console import Console
+
+ console = Console()
+ with console.pager(styles=True):
+ console.print(make_test_card())