1from typing import TYPE_CHECKING 2 3from prompt_toolkit.filters import Filter 4 5if TYPE_CHECKING: 6 from .python_input import PythonInput 7 8__all__ = ["HasSignature", "ShowSidebar", "ShowSignature", "ShowDocstring"] 9 10 11class PythonInputFilter(Filter): 12 def __init__(self, python_input: "PythonInput") -> None: 13 self.python_input = python_input 14 15 def __call__(self) -> bool: 16 raise NotImplementedError 17 18 19class HasSignature(PythonInputFilter): 20 def __call__(self) -> bool: 21 return bool(self.python_input.signatures) 22 23 24class ShowSidebar(PythonInputFilter): 25 def __call__(self) -> bool: 26 return self.python_input.show_sidebar 27 28 29class ShowSignature(PythonInputFilter): 30 def __call__(self) -> bool: 31 return self.python_input.show_signature 32 33 34class ShowDocstring(PythonInputFilter): 35 def __call__(self) -> bool: 36 return self.python_input.show_docstring 37