multi_colour: Multi-colour text

multi_colourR Documentation

Multi-colour text

Description

Multi-colour text

Usage

multi_colour(
  txt = "hello world!",
  colors = "rainbow",
  type = "message",
  direction = "vertical",
  recycle_chars = FALSE,
  add_leading_newline = FALSE,
  ...
)

Arguments

txt

(character) Some text to colour. cowsay animals are available in a list of multicolour::things, e.g. things$cow.

colors

(character) A vector of colours, defaulting to "rainbow", i.e. c("red", "orange", "yellow", "green", "blue", "purple").

Several out-of-the-box palettes are available; see multicolour::palettes.

Must all be crayon-supported colours. Any colours in colours() or hex values (see ?rgb) are fair game.

type

(character) "message" (the default), "warning", "string", or "rmd". If "rmd" is used, the type of the RMarkdown document should be html_document the chunk option results = "asis" should be used.

direction

(character) How should the colours be spread? One of "horizontal" or "vertical".

recycle_chars

(logical) Should the vector of colours supplied apply to the entire string or should it apply to each individual character (if direction is vertical) or line (if direction is horizontal), and be recycled?

add_leading_newline

Should a newline be added at the beginning of the text? Useful for cowsay animals when type = "rmd".

...

Further args.

Details

This function evenly (ish) divides up your string into these colours in the order they appear in colors.

It cannot be used with RGUI (R.app on some systems).

Value

A string if type is "string", or coloured text if type is "message" or "warning"

Examples

## Not run: 
multi_colour()

multi_colour("ahoy")

multi_colour(
  "taste the rainbow",
  c("rainbow", "cyan", "cyan", "rainbow")
)
multi_colour(
  "taste the rainbow",
  c(
    "mediumpurple",
    "rainbow",
    "cyan3"
  )
)

multi_colour(colours = c(
  rgb(0.1, 0.2, 0.5),
  "yellow",
  rgb(0.2, 0.9, 0.1)
))

multi_colour(
  things$buffalo,
  c("mediumorchid4", "dodgerblue1", "lemonchiffon1")
)

# Built-in colour palette
multi_colour(things$cow, colours = palettes$lacroix)

multi_colour(cowsay:::rms, sample(colours(), 10))

# Mystery Bulgarian animal
multi_colour(things[[sample(length(things), 1)]],
  c("white", "darkgreen", "darkred"),
  direction = "horizontal"
)

# Mystery Italian animal
multi_colour(things[[sample(length(things), 1)]],
  c("darkgreen", "white", "darkred"),
  direction = "vertical"
)

## End(Not run)

aedobbyn/multicolor documentation built on Jan. 11, 2023, 12:15 a.m.