UNPKG

sirrobert-terminal-ansi

Version:

ANSI terminal codes for node

151 lines (109 loc) 3.08 kB
# Overview ANSI color codes for the terminal in node. # Usage ## Installation Install with npm install --save sirrobert-terminal-ansi ## Invocation Invoke in the normal way: const ANSI = require(* sirrobert-terminal-ansi* ); The exported obejct, `ANSI` (name it whatever you like), is a nested hash. It looks like this: var codes = { "off" : '\u001b[0m', foreground: { "normal" : '\u001b[39m', "bold" : "\u001b[1m", "faint" : "\u001b[2m", // ... }, background: { "normal" : '\u001b[49m', "black" : "\u001b[40m", "red" : "\u001b[41m", // ... } }; Note that these are just strings. That means you can compound them using string concatenation: console.log(ANSI.bg.blue, "This has a blue background.", ANSI.reset); process.stdout.write(ANSI.bg.green, "This has a green background.", ANSI.reset); Of course, feel free to assign them locally: local fg = ANSI.fg; local bg = ANSI.bg; console.log(bg.red + fg.black + "The A-Team!" + ANSI.reset); And you don't have to reset after each line, either. local fg = ANSI.fg; local bg = ANSI.bg; console.log(bg.red + fg.black); // Prints an apparently blank line. console.log("The A-Team Rules!"); console.log("Everone else Droolz!"); console.log("This text is also super cool!"); console.log(ANSI.reset); // Prints an apparently blank line. ## Codes The codes are broken up into background and foreground. You can call them with `.foreground` and `.background` respectively (or `.fg` and `.bg` for short). Obviously the actual output colors depend on the mappings of your terminal. The available modifiers are: * ANSI * .off ### Foreground For example, `ANSI.foreground.bold` or `ANSI.foreground.blue`. * normal #### Modifiers * bold * faint * standout * underline * blink * reverse * hidden * no-standout * no-underline * no-blink * no-reverse #### Colors * black * red * green * yellow * blue * magenta * cyan * white #### Light Colors * dark_gray (or "light_black", but that's yucky.) * light_red * light_green * light_yellow * light_blue * light_magenta * light_cyan * light_gray ### Background For example, `ANSI.background.red` or `ANSI.bg.light_blue`. * normal #### Core Colors * black * red * green * yellow * blue * magenta * cyan * white #### Extended Colors * dark_gray * light_red * light_green * light_yellow * light_blue * light_magenta * light_cyan * light_gray ## Convenience Aliases In addition, there are some convenience aliases. * `ANSI.foreground` can be written `ANSI.fg`. * `ANSI.background` can be written `ANSI.bg`. * `ANSI.reset` is an alias for `ANSI.fg.normal + ANSI.bg.normal`.