(question: str, default: str | None = None)
| 38 | |
| 39 | |
| 40 | def prompt(question: str, default: str | None = None) -> str: |
| 41 | suffix = f" [{dim(default)}]" if default else "" |
| 42 | while True: |
| 43 | try: |
| 44 | raw = input(f"{cyan('?')} {question}{suffix}: ").strip() |
| 45 | except EOFError: |
| 46 | print() |
| 47 | sys.exit(1) |
| 48 | if not raw and default is not None: |
| 49 | return default |
| 50 | if raw: |
| 51 | return raw |
| 52 | print(red(" value required")) |
| 53 | |
| 54 | |
| 55 | def prompt_yes_no(question: str, default: bool = True) -> bool: |
no test coverage detected