Learn R Programming

Rdistance (version 4.1.1)

colorize: Add color to result if terminal accepts it

Description

Add ANSI color to a string using the crayon package, if the R environment accepts color. This function is needed because some output cannot be colorized. Color determination is made by crayon::has_color().

Rdistance results often include units, e.g., "25 [m]". Only colorize the numbers, not the units. Everything between the first set of square brackets ([...]) is NOT colorized. Subsequent sets of brackets (e.g., "25 [m] + 30 [ft]") ARE colorized (i.e., "[ft]" is color).

Usage

colorize(STR, col = NULL, bg = NULL)

Value

If color is not allowed in the terminal, the input string is returned unperturbed. If color is allowed, the input string is returned with color and background ANSI code surrounding the initial part of the string from character 1 to the character before the [ in the first pair of [].

Arguments

STR

A vector of strings to colorize.

col

A string specifying the desired foreground color. This is passed straight to crayon::style and so must be recognized as one of the 8 base crayon colors. i.e., "black", "red", "green", "yellow", "blue", "magenta", "cyan", "white", and "silver" (silver = gray). By default, numbers are styled in "green".

bg

A string specifying the desired background color. Must be one of "bgBlack", "bgRed", "bgGreen", "bgYellow", "bgBlue" "bgMagenta", "bgCyan", or "bgWhite". By default, no background is applied.

See Also