cognee/cognee/cli/echo.py
2025-07-26 18:14:19 +02:00

45 lines
1.1 KiB
Python

"""CLI output formatting utilities"""
import sys
import click
from typing import Any
def echo(message: str = "", color: str = None, err: bool = False) -> None:
"""Echo a message to stdout or stderr with optional color"""
click.secho(message, fg=color, err=err)
def note(message: str) -> None:
"""Print a note in blue"""
echo(f"Note: {message}", color="blue")
def warning(message: str) -> None:
"""Print a warning in yellow"""
echo(f"Warning: {message}", color="yellow")
def error(message: str) -> None:
"""Print an error in red"""
echo(f"Error: {message}", color="red", err=True)
def success(message: str) -> None:
"""Print a success message in green"""
echo(f"Success: {message}", color="green")
def bold(text: str) -> str:
"""Make text bold"""
return click.style(text, bold=True)
def confirm(message: str, default: bool = False) -> bool:
"""Ask for user confirmation"""
return click.confirm(message, default=default)
def prompt(message: str, default: Any = None) -> str:
"""Prompt user for input"""
return click.prompt(message, default=default)