|
|
- # ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles)
-
- > [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal
-
- You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings.
-
- <img src="https://cdn.rawgit.com/chalk/ansi-styles/8261697c95bf34b6c7767e2cbe9941a851d59385/screenshot.svg" width="900">
-
-
- ## Install
-
- ```
- $ npm install ansi-styles
- ```
-
-
- ## Usage
-
- ```js
- const style = require('ansi-styles');
-
- console.log(`${style.green.open}Hello world!${style.green.close}`);
-
-
- // Color conversion between 16/256/truecolor
- // NOTE: If conversion goes to 16 colors or 256 colors, the original color
- // may be degraded to fit that color palette. This means terminals
- // that do not support 16 million colors will best-match the
- // original color.
- console.log(style.bgColor.ansi.hsl(120, 80, 72) + 'Hello world!' + style.bgColor.close);
- console.log(style.color.ansi256.rgb(199, 20, 250) + 'Hello world!' + style.color.close);
- console.log(style.color.ansi16m.hex('#ABCDEF') + 'Hello world!' + style.color.close);
- ```
-
- ## API
-
- Each style has an `open` and `close` property.
-
-
- ## Styles
-
- ### Modifiers
-
- - `reset`
- - `bold`
- - `dim`
- - `italic` *(Not widely supported)*
- - `underline`
- - `inverse`
- - `hidden`
- - `strikethrough` *(Not widely supported)*
-
- ### Colors
-
- - `black`
- - `red`
- - `green`
- - `yellow`
- - `blue`
- - `magenta`
- - `cyan`
- - `white`
- - `gray` ("bright black")
- - `redBright`
- - `greenBright`
- - `yellowBright`
- - `blueBright`
- - `magentaBright`
- - `cyanBright`
- - `whiteBright`
-
- ### Background colors
-
- - `bgBlack`
- - `bgRed`
- - `bgGreen`
- - `bgYellow`
- - `bgBlue`
- - `bgMagenta`
- - `bgCyan`
- - `bgWhite`
- - `bgBlackBright`
- - `bgRedBright`
- - `bgGreenBright`
- - `bgYellowBright`
- - `bgBlueBright`
- - `bgMagentaBright`
- - `bgCyanBright`
- - `bgWhiteBright`
-
-
- ## Advanced usage
-
- 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.
-
- - `style.modifier`
- - `style.color`
- - `style.bgColor`
-
- ###### Example
-
- ```js
- console.log(style.color.green.open);
- ```
-
- 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.
-
- ###### Example
-
- ```js
- console.log(style.codes.get(36));
- //=> 39
- ```
-
-
- ## [256 / 16 million (TrueColor) support](https://gist.github.com/XVilka/8346728)
-
- `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.
-
- To use these, call the associated conversion function with the intended output, for example:
-
- ```js
- style.color.ansi.rgb(100, 200, 15); // RGB to 16 color ansi foreground code
- style.bgColor.ansi.rgb(100, 200, 15); // RGB to 16 color ansi background code
-
- style.color.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code
- style.bgColor.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code
-
- style.color.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color foreground code
- style.bgColor.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color background code
- ```
-
-
- ## Related
-
- - [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal
-
-
- ## Maintainers
-
- - [Sindre Sorhus](https://github.com/sindresorhus)
- - [Josh Junon](https://github.com/qix-)
-
-
- ## License
-
- MIT
|