/* globals ansispan:true */
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(`\0o33\\[${ ansi }m`, 'g'),
span
).replace(
new RegExp(`\0o33\\[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'
};