<!-- Please use the appropriate issue title format: BUG REPORT Bug: {Short description of bug} SUGGESTION I think that would be really awesome if we had all the capabilities of this color_patterns = { "RG": ["\033[91m", "\033[92m"], # Red and Green "GR": ["\033[92m", "\033[91m"], # Green and Red "RW": ["\033[91m", "\033[97m"], # Red and White "WR": ["\033[97m", "\033[91m"], # White and Red "GW": ["\033[92m", "\033[97m"], # Green and White "BG": ["\033[94m", "\033[92m"], # Blue and Green "GB": ["\033[92m", "\033[94m"], # Green and Blue "YM": ["\033[93m", "\033[95m"], # Yellow and Magenta "AR": ["\033[91m", "\033[91m"], # All Red "AG": ["\033[92m", "\033[92m"], # All Green "AY": ["\033[93m", "\033[93m"], # All Yellow "AB": ["\033[94m", "\033[94m"], # All Blue "AM": ["\033[95m", "\033[95m"], # All Magenta "AC": ["\033[96m", "\033[96m"], # All Cyan "AW": ["\033[97m", "\033[97m"], # All White "BY": ["\033[94m", "\033[93m"], # Blue and Yellow "MC": ["\033[95m", "\033[96m"], # Magenta and Cyan "CW": ["\033[96m", "\033[97m"], # Cyan and White "RC": ["\033[91m", "\033[96m"], # Red and Cyan "GM": ["\033[92m", "\033[95m"], # Green and Magenta "YB": ["\033[93m", "\033[94m"], # Yellow and Blue "MW": ["\033[95m", "\033[97m"], # Magenta and White "CR": ["\033[96m", "\033[91m"], # Cyan and Red # add more color patterns as needed } def print_color(pattern, *args, delay=None, new_line=True): if pattern not in color_patterns: print("Invalid color pattern.") return colors = color_patterns[pattern] for arg in args: colored_text = ''.join(f'{colors[i%2]}{ch}\033[0m' for i, ch in enumerate(arg)) if delay: for character in colored_text: print(character, end='', flush=True) time.sleep(delay) else: print(colored_text, end='') print() if new_line else None Instructions for GPT (Pertaining to the Last Provided Code with Print Statements): When you receive a script with standard print statements, follow these guidelines: 1. Identify the last code with print statements I provided. 2. Replace standard print statements in that code with `print_color` for enhanced output. 3. For messages involving key information (like object names): - Begin with `print_color("AG", "Message Start")`. - Print key info (e.g., object names) using `print_color("AR", "KeyName", new_line=False)`. - Finish the message with `print_color("AG", " rest of the message.")`. 4. Always use `new_line=False` for the middle part of the message to keep it on the same line. 5. Apply this format to enhance readability, particularly for key information in the console output. OTHER {Question|Discussion|Whatever}: {Short description} --> ## Description <!-- Describe the bug or suggestion in detail --> ### System settings N/a ### Error <!-- Put error here. Exceptions, and full traceback if possible. --> ### Expected behaviour If that exists let me know but then you would have even more of a truly awesome spinner which I appreciate how it's so easy to set up