diff options
author | Florian Dold <florian.dold@gmail.com> | 2016-11-13 21:53:45 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2016-11-13 21:53:45 +0100 |
commit | 18c96ab6926658d6707f1f3be935078f1cb08411 (patch) | |
tree | 418195a292ce8811679d4c2b1cb7bb0316669d62 /node_modules/supports-color/index.js | |
parent | 9657e01be14fa5baa4067da65aff94faf6c973e0 (diff) | |
download | wallet-core-18c96ab6926658d6707f1f3be935078f1cb08411.tar.xz |
node modules
Diffstat (limited to 'node_modules/supports-color/index.js')
-rw-r--r-- | node_modules/supports-color/index.js | 65 |
1 files changed, 49 insertions, 16 deletions
diff --git a/node_modules/supports-color/index.js b/node_modules/supports-color/index.js index a2b978450..113040d63 100644 --- a/node_modules/supports-color/index.js +++ b/node_modules/supports-color/index.js @@ -1,39 +1,72 @@ 'use strict'; -var argv = process.argv; +var hasFlag = require('has-flag'); -module.exports = (function () { - if (argv.indexOf('--no-color') !== -1 || - argv.indexOf('--no-colors') !== -1 || - argv.indexOf('--color=false') !== -1) { +var support = function (level) { + if (level === 0) { return false; } - if (argv.indexOf('--color') !== -1 || - argv.indexOf('--colors') !== -1 || - argv.indexOf('--color=true') !== -1 || - argv.indexOf('--color=always') !== -1) { - return true; + return { + level: level, + hasBasic: true, + has256: level >= 2, + has16m: level >= 3 + }; +}; + +var supportLevel = (function () { + if (hasFlag('no-color') || + hasFlag('no-colors') || + hasFlag('color=false')) { + return 0; + } + + if (hasFlag('color=16m') || + hasFlag('color=full') || + hasFlag('color=truecolor')) { + return 3; + } + + if (hasFlag('color=256')) { + return 2; + } + + if (hasFlag('color') || + hasFlag('colors') || + hasFlag('color=true') || + hasFlag('color=always')) { + return 1; } if (process.stdout && !process.stdout.isTTY) { - return false; + return 0; } if (process.platform === 'win32') { - return true; + return 1; } if ('COLORTERM' in process.env) { - return true; + return 1; } if (process.env.TERM === 'dumb') { - return false; + return 0; + } + + if (/^xterm-256(?:color)?/.test(process.env.TERM)) { + return 2; } if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { - return true; + return 1; } - return false; + return 0; })(); + +if (supportLevel === 0 && 'FORCE_COLOR' in process.env) { + supportLevel = 1; +} + +module.exports = process && support(supportLevel); |