summaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/node_modules/ansistyles/ansistyles.js
blob: 5b8788c0f9419413ced58eac03deb56c8836ccd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
'use strict';

/*
 * Info: http://www.termsys.demon.co.uk/vtansi.htm#colors 
 * Following caveats
 * bright    - brightens the color (bold-blue is same as brigthtBlue)
 * dim       - nothing on Mac or Linux
 * italic    - nothing on Mac or Linux
 * underline - underlines string
 * blink     - nothing on Mac or linux
 * inverse   - background becomes foreground and vice versa
 *
 * In summary, the only styles that work are:
 *  - bright, underline and inverse
 *  - the others are only included for completeness
 */

var styleNums = {
    reset     :  [0, 22]
  , bright    :  [1, 22]
  , dim       :  [2, 22]
  , italic    :  [3, 23]
  , underline :  [4, 24]
  , blink     :  [5, 25]
  , inverse   :  [7, 27]
  }
  , styles = {}
  ;

Object.keys(styleNums).forEach(function (k) {
  styles[k] = function (s) { 
    var open = styleNums[k][0]
      , close = styleNums[k][1];
    return '\u001b[' + open + 'm' + s + '\u001b[' + close + 'm';
  };
});

module.exports = styles;