| 'use strict'; |
| var argv = process.argv; |
| |
| var terminator = argv.indexOf('--'); |
| var hasFlag = function (flag) { |
| flag = '--' + flag; |
| var pos = argv.indexOf(flag); |
| return pos !== -1 && (terminator !== -1 ? pos < terminator : true); |
| }; |
| |
| module.exports = (function () { |
| if ('FORCE_COLOR' in process.env) { |
| return true; |
| } |
| |
| if (hasFlag('no-color') || |
| hasFlag('no-colors') || |
| hasFlag('color=false')) { |
| return false; |
| } |
| |
| if (hasFlag('color') || |
| hasFlag('colors') || |
| hasFlag('color=true') || |
| hasFlag('color=always')) { |
| return true; |
| } |
| |
| if (process.stdout && !process.stdout.isTTY) { |
| return false; |
| } |
| |
| if (process.platform === 'win32') { |
| return true; |
| } |
| |
| if ('COLORTERM' in process.env) { |
| return true; |
| } |
| |
| if (process.env.TERM === 'dumb') { |
| return false; |
| } |
| |
| if (/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)) { |
| return true; |
| } |
| |
| return false; |
| })(); |