console_width() works better now in RStudio, and also in terminals.
message conditions) coming from cli now have the
cliMessage class, so you can easily suppress them without suppressing other messages (#156).
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).
ansi_hide_cursor() and releted functions now default to the
"auto" stream, which is automatically selected to be either
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).
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).
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).
symbol$*) are now correctly printed in RStudio on Windows (#124).
Remove spurious newline after a
cli_process_start() was cleared manually, and also at the end of the function.
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: https://cli.r-lib.org
cli has now functions to add ANSI styles to text. These use the crayon package internally, and provide a simpler interface. See the
style_* and also the
combine_ansi_styles() functions (#51).
is_ansi_tty() function detects if ANSI control sequences can be used for a stream.
make_spinner() function helps integrating spinners into your functions.
symbol always uses ASCII symbols when the
cli.unicode option is set to