ansispan = function (str) { str = str.replace(/>/g, '>'); str = str.replace(/'; // // `\033[Xm` == `\033[0;Xm` sets foreground color to `X`. // str = str.replace( new RegExp('\033\\[' + ansi + 'm', 'g'), span ).replace( new RegExp('\033\\[0;' + ansi + 'm', 'g'), span ); }); // // `\033[1m` enables bold font, `\033[22m` disables it // str = str.replace(/\033\[1m/g, '').replace(/\033\[22m/g, ''); // // `\033[3m` enables italics font, `\033[23m` disables it // str = str.replace(/\033\[3m/g, '').replace(/\033\[23m/g, ''); str = str.replace(/\033\[m/g, ''); str = str.replace(/\033\[0m/g, ''); return str.replace(/\033\[39m/g, ''); }; ansispan.foregroundColors = { '30': 'gray', '31': 'red', '32': 'lime', '33': 'yellow', '34': '#6B98FF', '35': '#FF00FF', '36': 'cyan', '37': 'white' };