Don't print bogus characters on windows terminals that don't support colors.

This commit is contained in:
Jeffrey Rackauckas 2018-08-29 18:54:55 -07:00
parent f042e302d8
commit 1bd6fce7dc

View file

@ -3,11 +3,13 @@ from __future__ import unicode_literals
import os
import sys
terminal_supports_colors = True
if os.name == 'nt': # pragma: no cover (windows)
from pre_commit.color_windows import enable_virtual_terminal_processing
try:
enable_virtual_terminal_processing()
except WindowsError:
terminal_supports_colors = False
pass
RED = '\033[41m'
@ -29,7 +31,7 @@ def format_color(text, color, use_color_setting):
color - The color start string
use_color_setting - Whether or not to color
"""
if not use_color_setting:
if not use_color_setting or not terminal_supports_colors:
return text
else:
return '{}{}{}'.format(color, text, NORMAL)