From ee3cd08c1db47146424507bc62e6848967220c11 Mon Sep 17 00:00:00 2001 From: Lasse Edfast Date: Sat, 20 Sep 2025 14:19:11 +0200 Subject: [PATCH] Added single_line for print_rainbow --- colorprinter/print_color.py | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/colorprinter/print_color.py b/colorprinter/print_color.py index 40c351e..4e1f4bf 100644 --- a/colorprinter/print_color.py +++ b/colorprinter/print_color.py @@ -72,7 +72,7 @@ def print_purple(*args): print(f"\033[95m{text}\033[0m") -def print_rainbow(*args): +def print_rainbow(*args, single_line=False): """ Prints the provided arguments in a rainbow of colors. @@ -87,16 +87,26 @@ def print_rainbow(*args): """ color_index = -1 text = "" + for arg in args: if isinstance(arg, list): for i in arg: color_code, color_index = choose_color(color_index) - text += f"{color_code}{i}\033[0m " + if single_line: + text += f"{color_code}{i}\n\033[0m " + else: + text += f"{color_code}{i}\033[0m " elif isinstance(arg, dict): for k, v in arg.items(): color_code, color_index = choose_color(color_index) - text += f"{color_code}{k}: {v}\033[0m " + if single_line: + text += f"{color_code}{k}: {v}\n\033[0m " + else: + text += f"{color_code}{k}: {v}\033[0m " else: color_code, color_index = choose_color(color_index) - text += f"{color_code}{arg}\033[0m " + if single_line: + text += f"{color_code}{arg}\n\033[0m " + else: + text += f"{color_code}{arg}\033[0m " print(text)