Use `colorama.just_fix_windows_console()` (#12973)

This commit is contained in:
Adam Turner 2024-10-05 03:14:06 +01:00 committed by GitHub
parent 75d05eb766
commit 038562c4b7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -17,6 +17,8 @@ def terminal_supports_colour() -> bool:
"""Return True if coloured terminal output is supported.""" """Return True if coloured terminal output is supported."""
if 'NO_COLOUR' in os.environ or 'NO_COLOR' in os.environ: if 'NO_COLOUR' in os.environ or 'NO_COLOR' in os.environ:
return False return False
if sys.platform == 'win32':
colorama.just_fix_windows_console()
if 'FORCE_COLOUR' in os.environ or 'FORCE_COLOR' in os.environ: if 'FORCE_COLOUR' in os.environ or 'FORCE_COLOR' in os.environ:
return True return True
@ -35,15 +37,11 @@ def terminal_supports_colour() -> bool:
def disable_colour() -> None: def disable_colour() -> None:
global _COLOURING_DISABLED global _COLOURING_DISABLED
_COLOURING_DISABLED = True _COLOURING_DISABLED = True
if sys.platform == 'win32':
colorama.deinit()
def enable_colour() -> None: def enable_colour() -> None:
global _COLOURING_DISABLED global _COLOURING_DISABLED
_COLOURING_DISABLED = False _COLOURING_DISABLED = False
if sys.platform == 'win32':
colorama.init()
def colourise(colour_name: str, text: str, /) -> str: def colourise(colour_name: str, text: str, /) -> str: