Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jalvesaq/colorout
Colorize R output in terminal emulators
https://github.com/jalvesaq/colorout
Last synced: 18 days ago
JSON representation
Colorize R output in terminal emulators
- Host: GitHub
- URL: https://github.com/jalvesaq/colorout
- Owner: jalvesaq
- Created: 2014-04-25T02:56:18.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-08-26T19:55:38.000Z (3 months ago)
- Last Synced: 2024-08-26T23:07:24.889Z (3 months ago)
- Language: C
- Homepage:
- Size: 290 KB
- Stars: 287
- Watchers: 16
- Forks: 20
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: NEWS
Awesome Lists containing this project
- jimsghstars - jalvesaq/colorout - Colorize R output in terminal emulators (C)
README
colorout
========*colorout* is an R package that colorizes R output when running in a Unix
(e.g. Linux and OS X) terminal emulator; it does not work on Microsoft Windows.
The relevant code is written in C and, thus, it runs very quickly and you
should not note any slowdown in R output.R's `stdout` is parsed and numbers, negative numbers, dates in the standard
format, strings, indices, and R constants are identified and wrapped by special
ansi escape codes that are interpreted by terminal emulators as commands to
colorize the output.R's `stderr` is also parsed to identify the expressions "warning" and "error"
and their translations to many languages. If these expressions are found, the
output is colorized accordingly; otherwise, it is colorized as "stderror"
(magenta, by default).Screenshot:
![Screenshot](https://raw.githubusercontent.com/jalvesaq/colorout/master/man/figures/screenshot.png "Screenshot")
### Installation
You can install the package by running the following commands in a terminal
emulator:```
git clone https://github.com/jalvesaq/colorout.git
R CMD INSTALL colorout
```Some people prefer to use
[devtools](http://cran.r-project.org/web/packages/devtools/index.html) to
install packages from github._NOTES_:
- The package cannot be on CRAN because it changes code already loaded by R
and this is prohibited by the *CRAN Repository Policy*. The package
replaces the functions that output results and messages to R Console, and
this is necessary because we cannot colorize the output without replacing
these functions.- Because the package is not on CRAN, it is better to load it with
`require()` rather than `library()` to avoid error in your `~/.Rprofile`
after upgrading R.- You should load `colorout` only when you can actually see R's output, not
when running R non-interactively (see example on the next section).
This will avoid unnecessary error messages in some circumstances (in the
[languageserver](https://github.com/REditorSupport/languageserver)
log, for instance).### Customization
You can customize the colors according to your preference, guided by the
color table made by the command `show256Colors()`.
You can also set the colors to any arbitrary string. In this case, it is
up to you to set valid values.You can also call the function `addPattern()` to set your own patterns to be
colorized.Example of how to load `colorout` from your `~/.Rprofile`:
```r
if (interactive() || isatty(stdout())) {
options(colorout.verbose = 1)
if (require("colorout", quietly = FALSE)) {
# Gruvbox color scheme by @sjlva
colorout::setOutputColors(
index = "\x1b[38;2;215;153;33m",
normal = "\x1b[38;2;235;219;178m",
number = "\x1b[38;2;211;134;155m",
negnum = "\x1b[38;2;104;157;106m",
zero = "\x1b[38;2;69;133;136m",
infinite = "\x1b[38;2;250;189;47m",
string = "\x1b[38;2;184;187;38m",
date = "\x1b[38;2;254;128;25m",
const = "\x1b[38;2;250;189;47m",
true = "\x1b[38;2;142;192;124m",
false = "\x1b[38;2;251;73;52m",
warn = "\x1b[38;2;250;189;47m",
stderror = "\x1b[38;2;204;36;29m",
error = "\x1b[38;2;204;36;29m",
verbose = TRUE
)
}
}
```Try different colors and, when happy with your colorscheme, change
`colorout.verbose` to `0`, `quietly` to `TRUE`, and `verbose` to `FALSE`. If
you don't understand the color codes above, see
.