Coverage for src / puzzletree / cli / messages / message.py: 100.00%
7 statements
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-12 20:35 +0000
« prev ^ index » next coverage.py v7.13.4, created at 2026-03-12 20:35 +0000
1"""CLI informational message panels."""
3from rich.console import Console
4from rich.panel import Panel
5from rich.text import Text
8def info_panel(message: str, console: Console | None = None) -> Panel: # noqa: ARG001 - API consistency
9 """Build a neutral/info Panel.
11 The message body is always rendered as plain Text, not Markdown, so file paths,
12 underscores, and special characters are not interpreted as formatting.
14 Args:
15 message: The informational message body.
16 console: Rich Console (kept for API consistency with error_panel/warning_panel).
17 Defaults to None.
19 Returns:
20 A blue-bordered Panel suitable for console.print().
21 """
22 title = "Info"
23 body = Text(message, style="blue")
24 return Panel(body, title=title, border_style="blue")