You can then throw this message with stop() or rlang::abort().
Usage
format_error(message, .envir = parent.frame())
format_warning(message, .envir = parent.frame())
format_message(message, .envir = parent.frame())Arguments
- message
It is formatted via a call to
cli_bullets().- .envir
Environment to evaluate the glue expressions in.
Details
The messages can use inline styling, pluralization and glue substitutions.
n <- "boo"
stop(format_error(c(
"{.var n} must be a numeric vector",
"x" = "You've supplied a {.cls {class(n)}} vector."
)))#> Error: `n` must be a numeric vector #> ✖ You've supplied a <character> vector.
len <- 26
idx <- 100
stop(format_error(c(
"Must index an existing element:",
"i" = "There {?is/are} {len} element{?s}.",
"x" = "You've tried to subset element {idx}."
)))#> Error: Must index an existing element: #> ℹ There are 26 elements. #> ✖ You've tried to subset element 100.
See also
These functions support inline markup.
Other functions supporting inline markup:
cli_abort(),
cli_alert(),
cli_blockquote(),
cli_bullets(),
cli_bullets_raw(),
cli_dl(),
cli_h1(),
cli_li(),
cli_ol(),
cli_process_start(),
cli_progress_along(),
cli_progress_bar(),
cli_progress_message(),
cli_progress_output(),
cli_progress_step(),
cli_rule,
cli_status(),
cli_status_update(),
cli_text(),
cli_ul(),
format_inline()