| has_color {crayon} | R Documentation |
Does the current R session support ANSI colors?
has_color()
The following algorithm is used to detect ANSI support:
If the crayon.enabled option is set to TRUE
with options(), then TRUE is returned. If it is
set to something else than TRUE (typically FALSE),
then FALSE is returned.
Otherwise, if the standard output is not a terminal, then
FALSE is returned.
Otherwise, if the platform is Windows, TRUE is returned
if running in ConEmu (https://conemu.github.io/) or
cmder (http://cmder.net) with ANSI color support.
Otherwise FALSE is returned.
Otherwise, if the COLORTERM environment variable is
set, TRUE is returned.
Otherwise, if the TERM environment variable starts
with screen, xterm or vt100, or matches
color, ansi, cygwin or linux
(with case insentive matching), then TRUE is returned.
Otherwise FALSE is returned.
TRUE if the current R session supports color.
Note that has_color() returns FALSE if a sink is active
(see sink()). It assumes that the constructed string will be printed
to the standard output, and sink() redirects to a file, and usually
you don't want ANSI colors in the file.
The same applies to the case when R's standard output is redirected to a file, from the command line, e.g.:
R -q -e 'cat(crayon::red("no color here\n"))' > /tmp/crayon-test.txt
cat /tmp/crayon-test.txt
has_color()