Skip to content

Commit 2b7c905

Browse files
committed
Refactor warning display with Rich formatting.
Replace plain click-based warnings with styled Rich panels for better visibility. This enhances user experience by providing clearer and more visually organized warnings.
1 parent 39fed07 commit 2b7c905

File tree

1 file changed

+18
-1
lines changed

1 file changed

+18
-1
lines changed

bumpversion/ui.py

+18-1
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,14 @@
11
"""Utilities for user interface."""
22

33
import logging
4+
import sys
45

56
import click
67
from click import UsageError, secho
78
from rich.logging import RichHandler
9+
from rich.padding import Padding
10+
from rich.panel import Panel
11+
from rich_click.rich_help_formatter import RichHelpFormatter
812

913
from bumpversion.indented_logger import IndentedLoggerAdapter
1014

@@ -50,4 +54,17 @@ def print_error(msg: str) -> None:
5054

5155
def print_warning(msg: str) -> None:
5256
"""Echo a warning to the console."""
53-
secho(f"\nWARNING:\n\n{msg}\n", fg="yellow")
57+
formatter = RichHelpFormatter(file=sys.stderr)
58+
config = formatter.config
59+
60+
formatter.write(
61+
Padding(
62+
Panel(
63+
formatter.highlighter(msg),
64+
border_style="yellow",
65+
title="Warning",
66+
title_align=config.align_errors_panel,
67+
),
68+
(0, 0, 1, 0),
69+
)
70+
)

0 commit comments

Comments
 (0)