Filter ANSI escape sequences in -L output

Otherwise, builds like NixOS VM tests may leave the terminal in a
weird state and do resets.
This commit is contained in:
Eelco Dolstra 2019-10-09 23:25:06 +02:00
parent 55bba8e4f5
commit 4331eeb13d
No known key found for this signature in database
GPG key ID: 8170B4726D7198DE

View file

@ -120,7 +120,7 @@ public:
void log(State & state, Verbosity lvl, const std::string & s) void log(State & state, Verbosity lvl, const std::string & s)
{ {
if (state.active) { if (state.active) {
writeToStderr("\r\e[K" + s + ANSI_NORMAL "\n"); writeToStderr("\r\e[K" + filterANSIEscapes(s, !isTTY) + ANSI_NORMAL "\n");
draw(state); draw(state);
} else { } else {
auto s2 = s + ANSI_NORMAL "\n"; auto s2 = s + ANSI_NORMAL "\n";