From 729f55238e20f76724d8132cc75dc7ecef0f4c78 Mon Sep 17 00:00:00 2001 From: a <1@1.1> Date: Wed, 10 Jul 2024 14:02:58 +0200 Subject: [PATCH] color --- news/printx_color.rst | 23 +++++++++++++++++++++++ xonsh/tools.py | 5 ++++- 2 files changed, 27 insertions(+), 1 deletion(-) create mode 100644 news/printx_color.rst diff --git a/news/printx_color.rst b/news/printx_color.rst new file mode 100644 index 000000000..9de621e52 --- /dev/null +++ b/news/printx_color.rst @@ -0,0 +1,23 @@ +**Added:** + +* builtins: Added color to printx e.g. ``printx('Good', color='GREEN')``. + +**Changed:** + +* + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +* diff --git a/xonsh/tools.py b/xonsh/tools.py index ebb7b7c62..924fcbd8d 100644 --- a/xonsh/tools.py +++ b/xonsh/tools.py @@ -2018,11 +2018,14 @@ def format_color(string, **kwargs): return ansi_partial_color_format(string, style=style) -def print_color(string, **kwargs): +def print_color(string, color=None, **kwargs): """Prints a string that may contain colors. This dispatched to the shell method of the same name. Colors will be formatted if they have not already been. """ + if color: + string = f'{{{color}}}{string}{{RESET}}' + if hasattr(xsh.shell, "shell"): xsh.shell.shell.print_color(string, **kwargs) else: