Learn R Programming

crayon (version 1.2.0)

crayon: Colored terminal output

Description

With crayon it is easy to add color to terminal output, create styles for notes, warnings, errors; and combine styles.

Usage

## Simple styles
red(...)
bold(...)
...

## See more styling below

Arguments

...
Strings to style.

Genaral styles

  • reset
  • bold
  • blurred (usually calleddim, renamed to avoid name clash)
  • italic (not widely supported)
  • underline
  • inverse
  • hidden
  • strikethrough (not widely supported)

Text colors

  • black
  • red
  • green
  • yellow
  • blue
  • magenta
  • cyan
  • white
  • silver (usually calledgray, renamed to avoid name clash)

Background colors

  • bgBlack
  • bgRed
  • bgGreen
  • bgYellow
  • bgBlue
  • bgMagenta
  • bgCyan
  • bgWhite

Styling

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 stings 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')) See also combine_styles.

Styles can also be nested, and then inner style takes precedence: cat(green( 'I am a green line ' %+% blue$underline$bold('with a blue substring') %+% ' that becomes green again!\n' ))

It is easy to define your own themes: error <- red $ bold warn <- magenta $ underline note <- cyan cat(error("Error: subscript out of bounds!\n")) cat(warn("Warning: shorter argument was recycled.\n")) cat(note("Note: no such directory.\n"))

Details

ANSI color support is automatically detected and used. Crayon was largely inspired by chalk https://github.com/sindresorhus/chalk.

Crayon defines several styles, that can be combined. Each style in the list has a corresponding function with the same name.

See Also

make_style for using the 256 ANSI colors.

Examples

Run this code
cat(blue("Hello", "world!"))

cat("... to highlight the " \%+\% red("search term") \%+\%
    "in a block of text")

cat(yellow$bgMagenta$bold('Hello world!'))

cat(green(
 'I am a green line ' \%+\%
 blue$underline$bold('with a blue substring') \%+\%
 ' that becomes green again!'
))

error <- red $ bold
warn <- magenta $ underline
note <- cyan
cat(error("Error: subscript out of bounds!\n"))
cat(warn("Warning: shorter argument was recycled.\n"))
cat(note("Note: no such directory.\n"))

Run the code above in your browser using DataLab