./devel/R-cli, Helpers for developing command line interfaces

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 3.6.3, Package name: R-cli-3.6.3, Maintainer: minskim

A suite of tools designed to build attractive command line interfaces
(CLIs). Includes tools for drawing rules, boxes, trees, and Unicode
symbols with ASCII alternatives.


Required to run:
[math/R] [devel/R-crayon] [devel/R-assertthat]

Required to build:
[pkgtools/cwrappers]

Master sites: (Expand)


Version history: (Expand)


CVS history: (Expand)


   2024-09-21 12:53:07 by Makoto Fujiwara | Files touched by this commit (2)
Log message:
(devel/R-cli) Updated 3.6.2 to 3.6.3

# cli 3.6.3

* cli now builds on ARM Windows.

* "Solarized Dark" is now the default syntax highlighting theme in
  terminals.

* The `{.obj_type_friendly}` inline style now only shows the first class
  name (#669 @olivroy).

* Syntax highlighting now does not fail in RStudio if the rstudioapi
  package is not installed (#697).
   2024-01-20 06:43:37 by Makoto Fujiwara | Files touched by this commit (2)
Log message:
(devel/R-cli) Updated 3.6.1 to 3.6.2

# cli 3.6.2

* `ansi_collapse(x, trunc = 1, style = "head")` now indeed shows one
  element if `length(x) == 2`, as documented (@salim-b, #572).

* `ansi_collapse()` gains a `sep2` 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](https://en.wikipedia.org/wiki/Serial_comma) rules.
  (@salim-b, #569)

* `ansi_string()` is now an exported function (@multimeric, #573).
   2023-06-18 15:55:09 by Makoto Fujiwara | Files touched by this commit (2)
Log message:
(devel/R-cli) Updated 3.6.0 to 3.6.1

# cli 3.6.1

* ANSI hyperlinks are now turned off on the RStudio render plane (#581).
   2023-02-19 13:18:33 by Makoto Fujiwara | Files touched by this commit (2)
Log message:
(devel/R-cli) Updated 3.5.0 to 3.6.0

# 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 the `cli.progress_show_after`
  option in `?cli-config` for details (#542).

* `format_inline()` now has a new argument `keep_whitespace`, and it keeps
  whitespace, including newline and form feed characters by default.
   2023-01-01 01:44:35 by Makoto Fujiwara | Files touched by this commit (3)
Log message:
(devel/R-cli) Updated 3.4.1 to 3.5.0

# 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_*` and `bg_*` 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, when `ellipsis` has
  length zero, and when it is wider than `width`.

* New `hash_file_md5()` function to calculate the MD5 hash of one or more
  files.
   2022-12-17 02:27:54 by Makoto Fujiwara | Files touched by this commit (2)
Log message:
(devel/R-cli) Updated 3.3.0 to 3.4.1

# 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](https://github.com/sindresorhus/cli-spinners) package,
  and from @HenrikBengtsson in #469.
  Run this to demo them, some need UTF-8 and emoji support:

  ```r
  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 to `url`, and
  `{.val pre-{x}-post}` will format the whole value instead of `x`.
  (#422, #474).

* cli now replaces newline characters within `{.class ... }` inline styles
  with spaces. If the `cli.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` to `abort()`. 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 variable `VTE_VERSION`
  is of the form `\d{4}`, i.e., 4 consecutive numbers (#441, @michaelchirico)

* `cli_dl()` and its corresponding `cli_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).
   2022-05-02 16:32:10 by Makoto Fujiwara | Files touched by this commit (2)
Log message:
(devel/R-cli) Updated 3.2.0 to 3.3.0

# cli 3.3.0

* `style_hyperlink()` no longer breaks if the env varible `VTE_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 the `NO_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).
   2022-04-18 16:36:00 by Makoto Fujiwara | Files touched by this commit (2) | Package updated
Log message:
(devel/R-cli) Updated 2.5.0 to 3.2.0

# cli 3.2.0

## Breaking change

* The `cli_theme_dark` option is know known as `cli.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` and `tree` now have `cli_` 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
  default `call` and backtrace soft-truncation are set to `.envir`
  (which itself is set to the immediate caller of `cli_abort()` by
  default).

  Line formatting now happens lazily at display time via
  `rlang::cnd_message()` (which is called by the `conditionMessage()`
  method for rlang errors).

* New `hash_sha256()` function to calculate SHA-256 hashes. New
  `hash_raw_*()`, `hash_obj_*()` and `hash_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 of `num_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).

# cli 3.1.1

* `style_hyperlink()` gains a `params=` argument (#384).

# cli 3.1.0

## Breaking changes

* The C progress bar API now uses `double` instead of `int` as the data
  type of the progress units (#335).

## New features

* Several improvements and changes in the `ansi_*()` functions:
  - most `ansi_*()` functions are now implemented in C and they are
    much faster (#316).
  - they handle `NA` values better.
  - many functions now use UTF-8 graphemes by default instead of code
    points. E.g. `ansi_nchar()` counts graphemes, etc.
  - they convert their input to UTF-8 and always return UTF-8
    encoded strings.
  - new function `ansi_simplify()` to remove superfluous ANSI tags.
  - new function `ansi_html()` to convert ANSI-highlighted strings
    to HTML.
  - `ansi_has_any()` and `ansi_strip()` now have `sgr` and `csi`
    arguments to look for SGR tags, CSI tags, or both.

* New functions that handle UTF-8 encoded strings correctly:
  `utf8_graphemes()`, `utf8_nchar()`, `utf8_substr()`.

* Support for palettes, including a colorblind friendly palette.
  See `?ansi_palettes` for details.

* True color support: `num_ansi_colors()` now detects terminals with
  24 bit color support, and `make_ansi_style()` uses the exact RGB colors
  on these terminals (#208).

* The new `col_br_*()` and `bg_br_()` functions create bright versions of
  eight base ANSI colors (#327).

* New function `code_highlight()` to syntax highlight R code. It supports
  several themes out of the box, see `code_theme_list()` (#348).

* New functions for hashing: `hash_animal()`, `hash_emoji()` and
  `hash_md5()`.

* New `diff_chr()` and `diff_str()` functions to calculate the difference
  of character vectors and letters of strings.

## Smaller improvements

* Progress bars with `clear = FALSE` now print the last, completed, state
  properly.

* The progress bar for Shiny apps now handles output from
  `cli_progress_output()`.

* Progress variables in C `format_done` strings work correctly now (#337).

* `cli_dl()` now works with an empty description, and gives a better
  error for invalid input (#347).

* `rule()` is now works better if the labels have ANSI markup.

* `cli_spark` objects now have `format()` and `print()` methods.

* `cli_process_done()` now does not error without a process (#351).

* ANSI markup is now supported in RStudio jobs (#353).

* The lack of ANSI support is now again correctly detected if there is an
  active `sink()` (#366).

# cli 3.0.1

* `ansi_strtrim()` now correctly keeps `NA` values (#309).

* `format_inline()` now uses the correct environment (@rundel, #314).

# cli 3.0.0

* New functions for progress bars, please see the new articles at
  https://cli.r-lib.org/articles/ for details.

* New `cli_abort()`, `cli_warn()` and `cli_inform()` functions, to throw
  errors with cli pluralization and styling.

* New `format_inline()` function to format a cli string without emitting
  it (#278).