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

1"""CLI informational message panels.""" 

2 

3from rich.console import Console 

4from rich.panel import Panel 

5from rich.text import Text 

6 

7 

8def info_panel(message: str, console: Console | None = None) -> Panel: # noqa: ARG001 - API consistency 

9 """Build a neutral/info Panel. 

10 

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. 

13 

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. 

18 

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")