#output #colorful #terminal #macro #decorative

bin+lib deco

Easy macros to make terminal output colorful and decorative

2 unstable releases

0.2.0 Jun 10, 2019
0.1.0 Jun 8, 2019

#17 in #colorful

MIT/Apache

8KB
162 lines

deco-rs

Build status crates.io Documentation

Easy rust macros to make terminal output colorful and decorative

Usage

[dependencies]
deco = "*"
use std::fmt::Write;
use deco::*;

fn main() {
  dprintln!([red bold "RED and BOLD TEXT" !]);
  dprintln!([red bold "RED and BOLD TEXT with argument `0x{:x}`" !] 0xbeef);

  dprintln!([red bold "RED and BOLD" reset " ... NORMAL"]);

  dprintln!([yellow on_red "yellow on red" !]);

  // Std error
  deprintln!([bold red blink "THIS IS AN ERROR MESSAGE"]);

  let mut out = "".to_owned();
  dwriteln!(out, [italic "ITALIC TEXT" !]).unwrap();
  println!("out is {}", out);
}

Color/Decoration specifiers

Specifier Description
red foreground red
black foreground black
green foreground green
yellow foreground yellow
blue foreground blue
magenta foreground magenta
cyan foreground cyan
white foreground white
on_red background red
on_black background black
on_green background green
on_yellow background yellow
on_blue background blue
on_magenta background magenta
on_cyan background cyan
on_white background white
italic
bold
underscore
blink
reverse
conceal
reset or ! Reset color and all decorations

Macros

This crate has

  • dformat
  • dprint
  • dprintln
  • deprint
  • deprintln
  • dwrite
  • dwriteln

No runtime deps

~0–1.4MB
~17K SLoC