mirror of
https://github.com/Farama-Foundation/Gymnasium.git
synced 2025-09-06 19:55:30 +00:00
42 lines
974 B
Python
42 lines
974 B
Python
"""A set of common utilities used within the environments.
|
|
|
|
These are not intended as API functions, and will not remain stable over time.
|
|
"""
|
|
|
|
color2num = dict(
|
|
gray=30,
|
|
red=31,
|
|
green=32,
|
|
yellow=33,
|
|
blue=34,
|
|
magenta=35,
|
|
cyan=36,
|
|
white=37,
|
|
crimson=38,
|
|
)
|
|
|
|
|
|
def colorize(
|
|
string: str, color: str, bold: bool = False, highlight: bool = False
|
|
) -> str:
|
|
"""Returns string surrounded by appropriate terminal colour codes to print colourised text.
|
|
|
|
Args:
|
|
string: The message to colourise
|
|
color: Literal values are gray, red, green, yellow, blue, magenta, cyan, white, crimson
|
|
bold: If to bold the string
|
|
highlight: If to highlight the string
|
|
|
|
Returns:
|
|
Colourised string
|
|
"""
|
|
attr = []
|
|
num = color2num[color]
|
|
if highlight:
|
|
num += 10
|
|
attr.append(str(num))
|
|
if bold:
|
|
attr.append("1")
|
|
attrs = ";".join(attr)
|
|
return f"\x1b[{attrs}m{string}\x1b[0m"
|