.gitignore added
[dotfiles/.git] / .config / coc / extensions / node_modules / coc-prettier / node_modules / log-symbols / node_modules / ansi-styles / readme.md
1 # ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles)
2
3 > [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal
4
5 You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings.
6
7 <img src="https://cdn.rawgit.com/chalk/ansi-styles/8261697c95bf34b6c7767e2cbe9941a851d59385/screenshot.svg" width="900">
8
9
10 ## Install
11
12 ```
13 $ npm install ansi-styles
14 ```
15
16
17 ## Usage
18
19 ```js
20 const style = require('ansi-styles');
21
22 console.log(`${style.green.open}Hello world!${style.green.close}`);
23
24
25 // Color conversion between 16/256/truecolor
26 // NOTE: If conversion goes to 16 colors or 256 colors, the original color
27 //       may be degraded to fit that color palette. This means terminals
28 //       that do not support 16 million colors will best-match the
29 //       original color.
30 console.log(style.bgColor.ansi.hsl(120, 80, 72) + 'Hello world!' + style.bgColor.close);
31 console.log(style.color.ansi256.rgb(199, 20, 250) + 'Hello world!' + style.color.close);
32 console.log(style.color.ansi16m.hex('#ABCDEF') + 'Hello world!' + style.color.close);
33 ```
34
35 ## API
36
37 Each style has an `open` and `close` property.
38
39
40 ## Styles
41
42 ### Modifiers
43
44 - `reset`
45 - `bold`
46 - `dim`
47 - `italic` *(Not widely supported)*
48 - `underline`
49 - `inverse`
50 - `hidden`
51 - `strikethrough` *(Not widely supported)*
52
53 ### Colors
54
55 - `black`
56 - `red`
57 - `green`
58 - `yellow`
59 - `blue`
60 - `magenta`
61 - `cyan`
62 - `white`
63 - `gray` ("bright black")
64 - `redBright`
65 - `greenBright`
66 - `yellowBright`
67 - `blueBright`
68 - `magentaBright`
69 - `cyanBright`
70 - `whiteBright`
71
72 ### Background colors
73
74 - `bgBlack`
75 - `bgRed`
76 - `bgGreen`
77 - `bgYellow`
78 - `bgBlue`
79 - `bgMagenta`
80 - `bgCyan`
81 - `bgWhite`
82 - `bgBlackBright`
83 - `bgRedBright`
84 - `bgGreenBright`
85 - `bgYellowBright`
86 - `bgBlueBright`
87 - `bgMagentaBright`
88 - `bgCyanBright`
89 - `bgWhiteBright`
90
91
92 ## Advanced usage
93
94 By default, you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module.
95
96 - `style.modifier`
97 - `style.color`
98 - `style.bgColor`
99
100 ###### Example
101
102 ```js
103 console.log(style.color.green.open);
104 ```
105
106 Raw escape codes (i.e. without the CSI escape prefix `\u001B[` and render mode postfix `m`) are available under `style.codes`, which returns a `Map` with the open codes as keys and close codes as values.
107
108 ###### Example
109
110 ```js
111 console.log(style.codes.get(36));
112 //=> 39
113 ```
114
115
116 ## [256 / 16 million (TrueColor) support](https://gist.github.com/XVilka/8346728)
117
118 `ansi-styles` uses the [`color-convert`](https://github.com/Qix-/color-convert) package to allow for converting between various colors and ANSI escapes, with support for 256 and 16 million colors.
119
120 To use these, call the associated conversion function with the intended output, for example:
121
122 ```js
123 style.color.ansi.rgb(100, 200, 15); // RGB to 16 color ansi foreground code
124 style.bgColor.ansi.rgb(100, 200, 15); // RGB to 16 color ansi background code
125
126 style.color.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code
127 style.bgColor.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code
128
129 style.color.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color foreground code
130 style.bgColor.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color background code
131 ```
132
133
134 ## Related
135
136 - [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal
137
138
139 ## Maintainers
140
141 - [Sindre Sorhus](https://github.com/sindresorhus)
142 - [Josh Junon](https://github.com/qix-)
143
144
145 ## License
146
147 MIT