cliapp

Create Rich Command Line Applications

lifecycle R-CMD-check CRAN RStudio mirror downloads Codecov test coverage

Create rich command line applications, with colors, headings, lists, alerts, progress bars, etc. It uses CSS for theming.


Superseded

This package is superseded, and we focus on the cli package now: https://github.com/r-lib/cli

Installation

Stable version:

install.packages("cliapp")

Development version:

pak::pak("r-lib/cliapp")

Usage

This README uses the simple theme, included in the package, see ?simple_theme().

library(cliapp)
start_app(theme = simple_theme())

Headings

cli_h1(), cli_h2() and cli_h3() create three levels of headings:

cli_h1("Title")
cli_h2("Subtitle")
cli_h3("Subsubtitle")

Text and inline markup

All (non-verbatim) outputted text runs through glue::glue(). In addition to glue interpolation, cliapp also supports inline markup via the {markup text} form. The builtin theme defines inline markup classes, see ?inline-markup.

cli_text("{emph Emphasized text}, {strong Strong} importance.
  A piece of code: {code  sum(a) / length(a)}. Package names:
  {pkg cliapp}, file names: {path /usr/bin/env}, etc.")

Alerts

cli_alert("Generic alert")
cli_alert_danger("Something went horribly wrong")
cli_alert_warning("Better watch out!")
cli_alert_info("About to download 1.4GiB of data.")
cli_alert_success("All downloads finished successfully")

Lists

Ordered, unordered and definition lists, they can be nested. See ?cli_ol(), ?cli_ul(), ?cli_dl() and ?cli_it().

cli_div(theme = list(ol = list("margin-left" = 2)))
cli_ul("one", .close = FALSE)
cli_ol(c("foo", "bar", "foobar"))
cli_it("two")
cli_end()
cli_end()

Progress bars

Progress bars are supported via the progress package.

License

MIT © RStudio