cli 3.0.1 2021-07-17

cli 3.0.0 2021-06-30

cli 2.5.0 2021-04-26

  • New style_no_*() functions to locally undo styling. New col_none() and bg_none() functions to locally undo text color and background color.

  • It is now possible to undo text and background color in a theme, by setting them to NULL or "none".

  • cli_memo() was renamed to cli_bullets(), as it is by default formatted as a bullet list (#250).

  • New ansi_toupper(), ansi_tolower and ansi_chartr() functions, the ANSI styling aware variants of toupper(), tolower() and chartr() (#248).

  • New test_that_cli() helper function to write testthat tests for cli output.

  • tree() now does not produce warnings for tibbles (#238).

  • New inline style: .cls to format class names, e.g. "{.var fit} must be an {.cls lm} object".

cli 2.4.0 2021-04-05

  • New cli_memo() function to create a list of items or tasks.

  • New cli::cli() function to create a single cli message from multiple cli calls (#170).

  • cli now highlights weird names, e.g. path names with leading or trailing space (#227).

  • Styling is fixed at several places. In particular, nested lists should be now formatted better (#221).

  • New spark_bar() and spark_line() funcions to draw small bar or line charts.

cli 2.3.1 2021-02-23

  • ANSI color support detection works correctly now in older RStudio, and also on older R versions.

  • cli_h1(), cli_h2() and cli_h3() now work with multiple glue substitutions (#218).

cli 2.3.0 2021-01-31

cli 2.2.0 2020-11-20

cli 2.1.0 2020-10-12

  • New cli_vec() function to allow easier formatting of collapsed vectors. It is now also possible to use styling to set the collapsing parameters (#129).

  • New pluralize() function to perform pluralization without generating cli output (#155).

  • console_width() works better now in RStudio, and also in terminals.

  • Styling of verbatim text work properly now (#147, @tzakharko).

  • Messages (ie. message conditions) coming from cli now have the cliMessage class, so you can easily suppress them without suppressing other messages (#156).

  • cli prints the output to stderr() now, if there is an output or message sink. This is to make interactive and non-interactive sessions consistent (#153).

  • Pluralization works corrently now if the last alternative is the empty string (#158).

  • cli now caches the result of the dark background detection in iTerm on macOS. Reload cli to delete the cache (#131).

  • The is_dynamic_tty(), is_ansi_tty() and ansi_hide_cursor() and releted functions now default to the "auto" stream, which is automatically selected to be either stdout() or stderr(). See the manual for details (#144).

  • The default theme now quotes file names, paths, email addresses if they don’t start or end with an alphanumeric character or a slash. This is to make it easier to spot names that start or end with a space (#167).

  • make_spinner() clears the line properly now (@tzakharko, #164).

  • Semantic cli functions now automatically replace Unicode non-breaking space characters (\u00a0) with regular space characters, right before output. They are still used to calculate the line breaks, but not outputted (#161).

  • Progress bars now respect is_dynamic_tty() and do not output \r when this is false (@jimhester, #177)

cli 2.0.2 2020-02-28

  • The status bar now does not simplify multiple spaces by a single space.

  • cli now does not crash if it fails to detect whether the RStudio theme is a dark theme (#138).

  • cli now works better with wide Unicode characters, for example emojis. In particular, a status bar containing emojis is cleared properly (#133).

  • The status bar now does not flicker when updated, in terminals (#135).

cli 2.0.1 2020-01-08

  • Symbols (symbol$*) are now correctly printed in RStudio on Windows (#124).

  • The default theme for cli_code() output looks better now, especially in RStudio (#123).

  • Remove spurious newline after a cli_process_start() was cleared manually, and also at the end of the function.

  • Use Oxford comma when listing 3 or more items (@jonocarroll, #128).

cli 2.0.0 2019-12-09

Semantic command line interface tools

cli 2.0.0 has a new set of functions that help creating a CLI using a set of higher level elements: headings, paragraphs, lists, alerts, code blocks, etc. The formatting of all elements can be customized via themes. See the “Building a semantic CLI” article on the package web site:

Bug fixes:

  • Fix a bug in is_dynamic_tty(), setting R_CLI_DYNAMIC="FALSE" now properly turns dynamic tty off (#70).

cli 1.1.0 2019-03-19

cli 1.0.0 2017-11-05

First public release.