We check that all of the following hold:
The stream is a terminal.
The platform is Unix.
R is not running inside R.app (the macOS GUI).
R is not running inside RStudio.
R is not running inside Emacs.
The terminal is not "dumb".
stream
is either the standard output or the standard error stream.
See also
Other terminal capabilities:
ansi_hide_cursor()
,
is_dynamic_tty()