pytest currently uses pygments' TerminalFormatter. While reviewing a PR I've noticed that pygments also has Terminal256Formatter and TerminalTrueColorFormatter which presumably have richer colors than TerminalFormatter. Maybe if we use them we'll get better syntax highlighting.
pygments cmdline tool seems to use the following logic for selecting a formatter:
if os.environ.get('COLORTERM','') in ('truecolor', '24bit'):
fmter = TerminalTrueColorFormatter(**parsed_opts)
elif '256' in os.environ.get('TERM', ''):
fmter = Terminal256Formatter(**parsed_opts)
else:
fmter = TerminalFormatter(**parsed_opts)
pytest currently uses pygments'
TerminalFormatter
. While reviewing a PR I've noticed that pygments also hasTerminal256Formatter
andTerminalTrueColorFormatter
which presumably have richer colors thanTerminalFormatter
. Maybe if we use them we'll get better syntax highlighting.pygments cmdline tool seems to use the following logic for selecting a formatter:
https://github.com/pygments/pygments/blob/861fb9131b13241d7ea700fba8f6a38cf6f97285/pygments/cmdline.py#L448-L453C57