Note that this function is currently experimental!

Use cli_progress_along() in a mapping function or in a for loop, to add a progress bar. It uses cli_progress_bar() internally.

cli_progress_along(
  x,
  name = NULL,
  total = length(x),
  ...,
  .envir = parent.frame()
)

Arguments

x

Sequence to add the progress bar to.

name

Name of the progtess bar, a label, passed to cli_progress_bar().

total

Passed to cli_progress_bar().

...

Passed to cli_progress_bar().

.envir

Passed to cli_progress_bar().

Value

An index vector from 1 to length(x) that triggers progress updates as you iterate over it.

Details

Usage:

lapply(cli_progress_along(X), function(i) ...)

for (i in cli_progress_along(seq)) {
  ...
}

Note that if you use break in the for loop, you probably want to terminate the progress bar explicitly when breaking out of the loop, or right after the loop:

for (i in cli_progress_along(seq)) {
  ...
  if (cond) cli_progress_done() && break
  ...
}

See also

cli_progress_bar() and the traditional progress bar API.