Movatterモバイル変換


[0]ホーム

URL:


cli

Helpers for Developing Command Line Interfaces

R-CMD-checkCRAN RStudio mirror downloadsCodecov test coverage

A suite of tools to build attractive command line interfaces (CLIs),from semantic elements: headers, lists, alerts, paragraphs, etc.Supports theming via a CSS-like language. It also contains a number oflower level CLI elements: rules, boxes, trees, and Unicode symbols withASCII alternatives. It supports ANSI markup for terminal colors and fontstyles.


Features

Installation

Install the stable version from CRAN:

install.packages("cli")

Install the development version from GitHub:

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

Short tour

Some of the more commonly used cli elements, and features.

Short alert messages

One liner messages to inform or warn.

pkgs<-c("foo","bar","foobar")cli_alert_success("Downloaded {length(pkgs)} packages.")

db_url<-"example.com:port"cli_alert_info("Reopened database {.url {db_url}}.")

cli_alert_warning("Cannot reach GitHub, using local database cache.")

cli_alert_danger("Failed to connect to database.")

cli_alert("A generic alert")

Headings

Three levels of headings.

cli_h1("Heading 1")

cli_h2("Heading 2")

cli_h3("Heading 3")

Lists

Ordered, unordered and description lists, that can be nested.

fun<-function() {cli_ol()cli_li("Item 1")  ulid<-cli_ul()cli_li("Subitem 1")cli_li("Subitem 2")cli_end(ulid)cli_li("Item 2")cli_end()}fun()

Themes

Theming via a CSS-like language.

fun<-function() {cli_div(theme =list(span.emph =list(color ="orange")))cli_text("This is very {.emph important}")cli_end()cli_text("Back to the {.emph previous theme}")}fun()

Command substitution

Automatic command substitution via theglue package.

size<-123143123dt<-1.3454cli_alert_info(c("Downloaded {prettyunits::pretty_bytes(size)} in ","{prettyunits::pretty_sec(dt)}"))

Pluralization

Pluralization support.

nfiles<-3ndirs<-1cli_alert_info("Found {nfiles} file{?s} and {ndirs} director{?y/ies}.")

Progress bars

clean<-function() {cli_progress_bar("Cleaning data",total =100)for (iin1:100) {Sys.sleep(5/100)cli_progress_update()  }}clean()

Documentation

See athttps://cli.r-lib.org/and also in the installed package:help(package = "cli").

Code of Conduct

Please note that the cli project is released with aContributor Codeof Conduct. By contributing to this project, you agree to abide byits terms.

License

MIT © Posit Software, PBC


[8]ページ先頭

©2009-2025 Movatter.jp