supports-color

supports-color Build Status

Detect whether a terminal supports color

Install

$ npm install --save supports-color

Usage

var supportsColor = require('supports-color');

if (supportsColor) {
    console.log('Terminal supports color');
}

if (supportsColor.has256) {
    console.log('Terminal supports 256 colors');
}

if (supportsColor.has16m) {
    console.log('Terminal supports 16 million colors (truecolor)');
}

API

Returns an object, or false if color is not supported.

The returned object specifies a level of support for color through a .level property and a corresponding flag:

  • .level = 1 and .hasBasic = true: Basic color support (16 colors)
  • .level = 2 and .has256 = true: 256 color support
  • .level = 3 and .has16m = true: 16 million (truecolor) support

Info

It obeys the --color and --no-color CLI flags.

For situations where using --color is not possible, add an environment variable FORCE_COLOR with any value to force color. Trumps --no-color.

Explicit 256/truecolor mode can be enabled using the --color=256 and --color=16m flags, respectively.

License

MIT © Sindre Sorhus

Pincer is a project which aims to provide best library discovery tools for developers. We're growing day by day. We have only npm platform for now but we will add the others as much as we can.