summaryrefslogtreecommitdiff
path: root/deps/node/deps/npm/node_modules/ansistyles/README.md
blob: e39b8dfb6d827ccc92458ab36e1b3a7abedc258c (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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# ansistyles [![build status](https://secure.travis-ci.org/thlorenz/ansistyles.png)](http://next.travis-ci.org/thlorenz/ansistyles)

Functions that surround a string with ansistyle codes so it prints in style.

In case you need colors, like `red`, have a look at [ansicolors](https://github.com/thlorenz/ansicolors).

## Installation

    npm install ansistyles

## Usage

```js
var styles = require('ansistyles');

console.log(styles.bright('hello world'));    // prints hello world in 'bright' white
console.log(styles.underline('hello world')); // prints hello world underlined
console.log(styles.inverse('hello world'));   // prints hello world black on white
```

## Combining with ansicolors

Get the ansicolors module:

    npm install ansicolors

```js
var styles = require('ansistyles')
  , colors = require('ansicolors');

  console.log(
    // prints hello world underlined in blue on a green background
    colors.bgGreen(colors.blue(styles.underline('hello world'))) 
  );
```

## Tests

Look at the [tests](https://github.com/thlorenz/ansistyles/blob/master/test/ansistyles.js) to see more examples and/or run them via: 

    npm explore ansistyles && npm test

## More Styles

As you can see from [here](https://github.com/thlorenz/ansistyles/blob/master/ansistyles.js#L4-L15), more styles are available,
but didn't have any effect on the terminals that I tested on Mac Lion and Ubuntu Linux.

I included them for completeness, but didn't show them in the examples because they seem to have no effect.

### reset

A style reset function is also included, please note however that this is not nestable.

Therefore the below only underlines `hell` only, but not `world`.

```js
console.log(styles.underline('hell' + styles.reset('o') + ' world'));
```

It is essentially the same as:

```js
console.log(styles.underline('hell') + styles.reset('') + 'o world');
```



## Alternatives

**ansistyles** tries to meet simple use cases with a very simple API. However, if you need a more powerful ansi formatting tool, 
I'd suggest to look at the [features](https://github.com/TooTallNate/ansi.js#features) of the [ansi module](https://github.com/TooTallNate/ansi.js).