R: Colored terminal output

crayon {crayon} | R Documentation

## 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.

### 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.

### 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"))

### See Also

`make_style` for using the 256 ANSI colors.

### Examples

    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"))

[Package crayon version 1.3.2 Index]