Add some color
This commit is contained in:
parent
392430b2c4
commit
373fad75e1
6 changed files with 56 additions and 52 deletions
|
@ -2441,42 +2441,6 @@ void DerivationGoal::deleteTmpDir(bool force)
|
|||
}
|
||||
|
||||
|
||||
/* Filter out the special ANSI escape codes generated by Nixpkgs'
|
||||
stdenv (used to denote nesting etc.). */
|
||||
static string filterNixEscapes(const string & s)
|
||||
{
|
||||
string t, r;
|
||||
enum { stTop, stEscape, stCSI } state = stTop;
|
||||
for (auto c : s) {
|
||||
if (state == stTop) {
|
||||
if (c == '\e') {
|
||||
state = stEscape;
|
||||
r = c;
|
||||
} else
|
||||
t += c;
|
||||
} else if (state == stEscape) {
|
||||
r += c;
|
||||
if (c == '[')
|
||||
state = stCSI;
|
||||
else {
|
||||
t += r;
|
||||
state = stTop;
|
||||
}
|
||||
} else {
|
||||
r += c;
|
||||
if (c >= 0x40 && c != 0x7e) {
|
||||
if (c != 'p' && c != 'q' && c != 's' && c != 'a' && c != 'b')
|
||||
t += r;
|
||||
state = stTop;
|
||||
r.clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
t += r;
|
||||
return t;
|
||||
}
|
||||
|
||||
|
||||
void DerivationGoal::handleChildOutput(int fd, const string & data)
|
||||
{
|
||||
if ((hook && fd == hook->builderOut.readSide) ||
|
||||
|
@ -2491,7 +2455,7 @@ void DerivationGoal::handleChildOutput(int fd, const string & data)
|
|||
return;
|
||||
}
|
||||
if (verbosity >= settings.buildVerbosity)
|
||||
writeToStderr(filterNixEscapes(data));
|
||||
writeToStderr(filterANSIEscapes(data, true));
|
||||
if (bzLogFile) {
|
||||
int err;
|
||||
BZ2_bzWrite(&err, bzLogFile, (unsigned char *) data.data(), data.size());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue