crayon (version 1.3.2)

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 called ‘dim’, 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 called ‘gray’, 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