node package manager

coffeenode-trm

Table of Contents generated with DocToc

CoffeeNode Terminal (TRM)

Installation & Usage

On the command line:

npm install coffeenode-trm

In your scripts:

 
# These lines start many of my scripts: 
TRM       = require 'coffeenode-trm'
rpr       = TRM.rpr.bind TRM
echo      = TRM.echo.bind TRM
badge     = 'demo'
log       = TRM.get_logger 'plain'badge
info      = TRM.get_logger 'info',  badge
alert     = TRM.get_logger 'alert'badge
debug     = TRM.get_logger 'debug'badge
warn      = TRM.get_logger 'warn',  badge
help      = TRM.get_logger 'help',  badge
 
info "colors!"
alert "something went wrong"
TRM.dir ( [)
 
# goes to stderr: 
log TRM.gold [ 123]
 
# goes to stdout without the 'badge': 
echo 'redirect only this part with `>`'
 
# `TRM.pen` (think of 'to pen a text') is like `TRM.echo`, except it does not output anything 
# but returns a textual representation of its arguments: 
message = TRM.pen 'do you like'( TRM.green 'colorful' )( TRM.pink 'outputs' )'?'
log message.trim()
 
# `rpr` (short for: 'representation') gives you a `( require 'util' ).inspect`-like output; it is applied 
# by all `TRM` logging functions by default to avoid any `[object Object]` nonsense; apply it explicitly 
# to get a view into strings. 
log rpr 242 # same as `log 242` (true for all values except texts) 
 
# output: demo  ▶  'do you like \u001b[38;05;34mcolorful\u001b[0m \u001b[38;05;199moutputs\u001b[0m ?\n' 
log rpr message
 
# convert colors in the message to HTML spans. 
# output: demo  ▶  do you like <span class='ansi-m-38-5-34'>colorful</span> <span class='ansi-m-38-5-199'>outputs</span> ? 
log TRM.as_html message
 

tl;dr

TRM is a library to do simplify doing colorful stuff and meaningful outputs on the command line.