parent
5a0af98e12
commit
a970502d29
@ -0,0 +1,41 @@ |
||||
ansispan = function (str) { |
||||
Object.keys(ansispan.foregroundColors).forEach(function (ansi) { |
||||
var span = '<span style="color: ' + ansispan.foregroundColors[ansi] + '">'; |
||||
|
||||
//
|
||||
// `\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, '<b>').replace(/\033\[22m/g, '</b>'); |
||||
|
||||
//
|
||||
// `\033[3m` enables italics font, `\033[23m` disables it
|
||||
//
|
||||
str = str.replace(/\033\[3m/g, '<i>').replace(/\033\[23m/g, '</i>'); |
||||
|
||||
str = str.replace(/\033\[m/g, '</span>'); |
||||
str = str.replace(/\033\[0m/g, '</span>'); |
||||
return str.replace(/\033\[39m/g, '</span>'); |
||||
}; |
||||
|
||||
ansispan.foregroundColors = { |
||||
'30': 'black', |
||||
'31': 'red', |
||||
'32': 'green', |
||||
'33': 'yellow', |
||||
'34': 'blue', |
||||
'35': 'purple', |
||||
'36': 'cyan', |
||||
'37': 'white' |
||||
}; |
Loading…
Reference in new issue