Releases: r-lib/cli
cli 3.6.3
cli 3.6.2
-
ansi_collapse(x, trunc = 1, style = "head")
now indeed shows one
element iflength(x) == 2
, as documented (@salim-b, #572). -
ansi_collapse()
gains asep2
argument to specify a seperate separator
for length-two inputs. It defaults to" and "
which, in conjunction with
the other defaults, produces a collapsed string that fully adheres to the
serial comma rules.
(@salim-b, #569) -
ansi_string()
is now an exported function (@multimeric, #573).
cli 3.6.1
cli 3.6.0
-
The progressr progress handler now reports progress correctly
(@HenrikBengtsson, #558). -
New
hash_*sha1()
functions to calculate the SHA-1 hash of strings,
objects, files. -
cli now shows progress bars after one second by default, if they
are less than half way at the point. (Or after two seconds,
unconditionally, as before.) See the thecli.progress_show_after
option in?cli-config
for details (#542). -
format_inline()
now has a new argumentkeep_whitespace
, and it keeps
whitespace, including newline and form feed characters by default.
cli 3.5.0
-
New
keypress()
function to read a single key press from a terminal. -
New function
pretty_print_code()
to print function objects with syntax
highlighting at the R console. -
col_*
andbg_*
functions how handle zero-length input correctly (#532). -
New function
ansi_collapse()
to collapse character vectors into a single
string. -
ansi_strtrim()
now handles some edge cases better, whenellipsis
has
length zero, and when it is wider thanwidth
. -
New
hash_file_md5()
function to calculate the MD5 hash of one or more
files.
cli 3.4.1
-
cli has better error messages now.
-
New
format_inline()
argument:collapse
, to collapse multi-line output,
potentially because of\f
characters.
cli 3.4.0
-
New experimental styles to create ANSI hyperlinks in RStudio and
terminals that support them. See?cli::links
for details (#513). -
Expressions that start and end with a
{}
substitution are now styled
correctly. E.g.{.code {var1} + {var2}}
(#517). -
New
{.obj_type_friendly}
inline style to format the type of an R object
in a user friendly way (#463). -
Improved vector collapsing behavior. cli now shows both the beginning
and end of the collapsed vector, by default (#419). -
Nested
cli()
calls work now (#497). -
Return values now work as they should within
cli()
calls (#496). -
Style attributes with underscores have new names with dashes instead:
vec_sep
,vec_last
,vec_trunc
,string-quote
. The old names still
work, but the new ones take precedence (#483). -
cli now does not crash at the end of the R session on Arm Windows
(#494; @kevinushey) -
Vectors are truncated at 20 elements now by default, instead of 100 (#430).
-
20 new spinners from the awesome
cli-spinners package,
and from @HenrikBengtsson in #469.
Run this to demo them, some need UTF-8 and emoji support:new <- c("dots13", "dots8Bit", "sand", "material", "weather", "christmas", "grenade", "point", "layer", "betaWave", "fingerDance", "fistBump", "soccerHeader", "mindblown", "speaker", "orangePulse", "bluePulse", "orangeBluePulse", "timeTravel", "aesthetic", "growVeriticalDotsLR", "growVeriticalDotsRL", "growVeriticalDotsLL", "growVeriticalDotsRR") demo_spinners(new)
-
cli exit handlers are now compatible again with the withr package (#437).
-
cli functions now keep trailing
\f
characters as newlines.
They also keep multiple consecutive\f
as multiple newlinees (#491). -
{}
substitutions within inline styles are now formatted correctly.
E.g.{.code download({url})}
will not add backticks tourl
, and
{.val pre-{x}-post}
will format the whole value instead ofx
.
(#422, #474). -
cli now replaces newline characters within
{.class ... }
inline styles
with spaces. If thecli.warn_inline_newlines
option is set to TRUE, then
it also throws a warning. (#417). -
code_highlight
now falls back to the default theme (instead of no theme)
for unknown RStudio themes (#482, @rossellhayes). -
cli_abort()
now supplies.frame
toabort()
. This fixes an
issue with the.internal = TRUE
argument (r-lib/rlang#1386). -
cli now does a better job at detecting the RStudio build pane, job pane
and render pane, and their capabilities w.r.t. ANSI colors and hyperlinks.
Note that this requires a daily build of RStudio (#465). -
New functions for ANSI strings:
ansi_grep()
,ansi_grepl()
,
ansi_nzchar()
. They work like the corresponding base R functions, but
handle ANSI markup. -
style_hyperlink()
(really) no longer breaks if the env variableVTE_VERSION
is of the form\d{4}
, i.e., 4 consecutive numbers (#441, @MichaelChirico) -
cli_dl()
and its correspondingcli_li()
can now style the labels. -
The behavior cli's inline styling expressions is now more predictable.
cli does not try to evaluate a styled string as an R expression any more.
E.g. the meaning of"{.emph +1}"
is now always the "+1", with style
.emph
, even if an.emph
variable is available and the.emph + 1
expression can be evaluated. -
Functions that apply bright background colors (e.g.
bg_br_yellow()
) now
close themselves. They no longer format text after the end of the function
(#484, @rossellhayes).
cli 3.3.0
-
style_hyperlink()
no longer breaks if the env varibleVTE_VERSION
is of the form\d{4}
, i.e., 4 consecutive numbers (#441, @MichaelChirico) -
ansi_*()
functions support ANSI hyperlinks again (#444). -
Turning off ANSI colors via the
cli.num_colors
option or the
R_CLI_NUM_COLORS
or theNO_COLOR
environment variable now also turns off
ANSI hyperlinks (#447). -
symbol
now only has two variants: UTF-8 and ASCII. There are no special
variants for RStudio and Windows RGui any more (#424).
v3.2.0
Breaking change
- The
cli_theme_dark
option is know known ascli.theme_dark
, to be
consistent with all other cli option names (#380).
Other changes
-
The preferred names of the S3 clases
ansi_string
,ansi_style
,boxx
,
rule
andtree
now havecli_
prefix:cli_ansi_string
, etc. This will
help avoiding name conflicts with other packages eventually, but for now
the old names are kept as well, for compatibility. -
cli_abort()
has been updated to work nicely with rlang 1.0. The
defaultcall
and backtrace soft-truncation are set to.envir
(which itself is set to the immediate caller ofcli_abort()
by
default).Line formatting now happens lazily at display time via
rlang::cnd_message()
(which is called by theconditionMessage()
method for rlang errors). -
New
hash_sha256()
function to calculate SHA-256 hashes. New
hash_raw_*()
,hash_obj_*()
andhash_file_*()
functions to calculate
various hashes of raw vectors, R objects and files. -
You can use the new
cli.default_num_colors
option to set the default
number of ANSI colors, only if ANSI support is otherwise detected.
See the details in the manual ofnum_ansi_colors()
. -
You can set the new
ESS_BACKGROUND_MODE
environment variable to
dark
to indicate dark mode. -
cli now handles quotes and comment characters better in the semantion
cli_*()
functions that perform glue string interpolation (#370).