Merge pull request #5273 from jlmitch5/distributeStdoutColors

distribute colors if escape sequence isn't in line
This commit is contained in:
jlmitch5 2017-02-09 12:38:28 -05:00 committed by GitHub
commit 4e1576c65d

View File

@ -36,6 +36,7 @@ export default ['$log', 'moment', function($log, moment){
line = line.replace(/\[0;33m/g, '<span class="ansi33">');
line = line.replace(/\[0;34m/g, '<span class="ansi34">');
line = line.replace(/\[0;35m/g, '<span class="ansi35">');
line = line.replace(/\[1;35m/g, '<span class="ansi35">');
line = line.replace(/\[0;36m/g, '<span class="ansi36">');
line = line.replace(/(<host.*?>)\s/g, '$1');
@ -198,6 +199,43 @@ export default ['$log', 'moment', function($log, moment){
return emptySpan;
}
},
distributeColors: function(lines) {
var colorCode;
return lines.map(line => {
if (colorCode) {
line = colorCode + line;
}
if (line.indexOf("[0m") === -1) {
if (line.indexOf("[1;31m") > -1) {
colorCode = "[1;31m";
} else if (line.indexOf("[0;31m") > -1) {
colorCode = "[0;31m";
} else if (line.indexOf("[0;32m=") > -1) {
colorCode = "[0;32m=";
} else if (line.indexOf("[0;32m1") > -1) {
colorCode = "[0;32m1";
} else if (line.indexOf("[0;32m") > -1) {
colorCode = "[0;32m";
} else if (line.indexOf("[0;33m") > -1) {
colorCode = "[0;33m";
} else if (line.indexOf("[0;34m") > -1) {
colorCode = "[0;34m";
} else if (line.indexOf("[0;35m") > -1) {
colorCode = "[0;35m";
} else if (line.indexOf("[1;35m") > -1) {
colorCode = "[1;35m";
} else if (line.indexOf("[0;36m") > -1) {
colorCode = "[0;36m";
}
} else {
colorCode = null;
}
return line;
});
},
getLineArr: function(event) {
let lineNums = _.range(event.start_line + 1,
event.end_line + 1);
@ -219,6 +257,8 @@ export default ['$log', 'moment', function($log, moment){
}
}
lines = this.distributeColors(lines);
// hack around no-carriage return issues
if (lineNums.length === lines.length) {
return _.zip(lineNums, lines);