| Type: | Package | 
| Title: | Render Tables in Text for the Terminal | 
| Version: | 0.1.0 | 
| Description: | Render tables in text format in the terminal using ANSI strings thanks to the 'cli' and 'crayon' packages. | 
| License: | GPL (≥ 3) | 
| URL: | https://github.com/kforner/clitable | 
| BugReports: | https://github.com/kforner/clitable/issues | 
| Imports: | cli, crayon, grDevices, utils | 
| Suggests: | devtools, testthat | 
| Config/testthat/edition: | 3 | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.3.2 | 
| NeedsCompilation: | no | 
| Packaged: | 2025-10-09 10:25:37 UTC; vscode | 
| Author: | Karl Forner [aut, cre, cph] | 
| Maintainer: | Karl Forner <karl.forner@gmail.com> | 
| Depends: | R (≥ 4.1.0) | 
| Repository: | CRAN | 
| Date/Publication: | 2025-10-15 19:50:02 UTC | 
clitable: Render Tables in Text for the Terminal
Description
Render tables in text format in the terminal using ANSI strings thanks to the 'cli' and 'crayon' packages.
Features
- can display any ansi string (without end of lines) content 
- multiple table border styles: single, double, single-double, double-single, classic 
- can display heatmaps 
- can highlight rows 
- can display NAs with custom style 
- few dependencies: only - crayonand- cli
Author(s)
Maintainer: Karl Forner karl.forner@gmail.com [copyright holder]
See Also
Useful links:
generates a text table
Description
generates a text table
Usage
cli_table(
  mat,
  header = TRUE,
  header_style = NULL,
  border_style = "single",
  heatmap_columns = NULL,
  heatmap_colorspace = c("green", "red"),
  hilite_rows = NULL,
  hilite_style = "bgRed",
  NA_style = NULL,
  ...
)
Arguments
| mat | the table content to print, can be a data.frame or a matrix | 
| header | whether to use the row names as table headers | 
| header_style | the (crayon) style to use to print the headers (cf  | 
| border_style | the style to use for the table borders, one of single, double, single-double, double-single, classic | 
| heatmap_columns | the columns that should be displayed as heatmaps, as a vector of column indices, names or logicals | 
| heatmap_colorspace | the colorspace to use for the heatmaps, to be passed to  | 
| hilite_rows | the rows to highlight, as a vector of column indices, names or logicals | 
| hilite_style | the (crayon) style to use to highlight the rows (cf  | 
| NA_style | the (crayon) style to use to highlight the NA values (cf  | 
| ... | Arguments passed on to  
 | 
Value
the lines of the text table as an ansi_string vector
Examples
  df <- head(datasets::penguins, 20)
  ct <- cli_table(df, header_style = "bold",
    NA_style = "strikethrough",
    heatmap_columns = list("flipper_len"), xmin = 180, xmax = 200,
    hilite_rows = !is.na(df$sex) & df$sex == "female" & df$bill_dep >= 19, 
    hilite_style = "bgGreen"
  )
  cat(ct, sep = "\n")
a function to demo the clitable package
Description
a function to demo the clitable package
Usage
demo()
Value
nothing
Examples
demo()
shared params
Description
shared params
scales a numeric vector
Description
scales a numeric vector
Usage
scale_numeric(x, xmin = min(x, na.rm = TRUE), xmax = max(x, na.rm = TRUE))
Arguments
| x | the numeric vector to scale | 
| xmin | the minimum value used for the scaling. all all x < xmin are set to 0 | 
| xmax | the maximum value used for the scaling. all x > xmax set to 1 | 
Value
a numeric vector of the same length as x, with all values between 0 and 1, except for NAs which are unchanged
Examples
x <- c(0.1, 100, -2.5, 20, 78.2, NA)
scaled <- scale_numeric(x)
all(is.na(scaled) | (scaled >= 0 & scaled <= 1))