cliapp icon indicating copy to clipboard operation
cliapp copied to clipboard

Rich Command Line Applications

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
  • Installation
  • Usage
    • Headings
    • Text and inline markup
    • Alerts
    • Lists
    • Progress bars
  • License

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