The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Please use cli for new projects.
crayon is still supported and will receive important bug fixes, but no new features.
Stylish terminal output in R
With crayon it is easy to add color to terminal output, create styles for notes, warnings, errors; and combine styles.
ANSI color support is automatically detected and used. Crayon was largely inspired by chalk.
Stable version:
install.packages("crayon")
Development version:
::pak("r-lib/crayon") pak
Crayon defines several styles that can be combined. Each style in the list has a corresponding function with the same name.
reset
bold
blurred
(usually called dim
, renamed to
avoid name clash)italic
(not widely supported)underline
inverse
hidden
strikethrough
(not widely supported)black
red
green
yellow
blue
magenta
cyan
white
silver
(usually called gray
, renamed to
avoid name clash)bgBlack
bgRed
bgGreen
bgYellow
bgBlue
bgMagenta
bgCyan
bgWhite
The styling functions take any number of character vectors as arguments, and they concatenate and style them:
library(crayon)
cat(blue("Hello", "world!\n"))
Crayon defines the %+%
string concatenation operator to
make it easy to assemble strings with different styles.
cat("... to highlight the " %+% red("search term") %+% " in a block of text\n")
Styles can be combined using the $
operator:
cat(yellow$bgMagenta$bold('Hello world!\n'))
Styles can also be nested, and then inner style takes precedence:
cat(green(
'I am a green line ' %+%
$underline$bold('with a blue substring') %+%
blue' that becomes green again!\n'
))
It is easy to define your own themes:
<- red $ bold
error <- magenta $ underline
warn <- cyan
note cat(error("Error: subscript out of bounds!\n"))
cat(warn("Warning: shorter argument was recycled.\n"))
cat(note("Note: no such directory.\n"))
Most modern terminals support the ANSI standard for 256 colors, and
you can define new styles that make use of them. The
make_style
function defines a new style. It can handle R’s
built in color names (see the output of colors()
) as well
as RGB specifications via the rgb()
function. It
automatically chooses the ANSI colors that are closest to the specified
R and RGB colors, and it also has a fallback to terminals with 8 ANSI
colors only.
<- make_style("ivory")
ivory <- make_style("maroon", bg = TRUE)
bgMaroon <- combine_styles(ivory, bgMaroon)
fancy cat(fancy("This will have some fancy colors"), "\n")
MIT @ Gábor Csárdi
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.