cli (version 1.1.0)

is_dynamic_tty: Detect whether a stream supports \r (Carriage return)

Description

In a terminal, \r moves the cursor to the first position of the same line. It is also supported by most R IDEs. \r is typically used to achive a more dynamic, less cluttered user interface, e.g. to create progress bars.

Usage

is_dynamic_tty(stream = stderr())

Arguments

stream

The stream to inspect, an R connection object. Note that it defaults to the standard error stream, since informative messages are typically printed there.

Details

If the output is directed to a file, then \r characters are typically unwanted. This function detects if \r can be used for the given stream or not.

The detection mechanism is as follows:

  1. If the cli.dynamic option is set to TRUE, TRUE is returned.

  2. If the cli.dynamic option is set to anything else, FALSE is returned.

  3. If the R_CLI_DYNAMIC environment variable is not empty and set to the string "true", "TRUE" or "True", TRUE is returned.

  4. If R_CLI_DYNAMIC is not empty and set to anything else, FALSE is returned.

  5. If the stream is a terminal, then TRUE is returned.

  6. If the stream is hte standard output or error within RStudio, the macOS R app, or RKWard IDE, TRUE is returned.

  7. Otherwise FALSE is returned.

See Also

Other terminal capabilities: is_ansi_tty

Examples

Run this code
# NOT RUN {
is_dynamic_tty()
is_dynamic_tty(stdout())
# }

Run the code above in your browser using DataLab