diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2018-03-15T15·08+0100 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2018-03-15T15·08+0100 |
commit | 486872150638d56483c2bc429ba9e137d9974ee8 (patch) | |
tree | 469f6346618c2fbe1eb2e4282ef7e6cc90c01ff5 /src/libutil/util.hh | |
parent | 7b8914825a6b02173976eae0ca59053085d4b20a (diff) |
Filter ANSI colors when not writing to a terminal
Fixes https://github.com/NixOS/nixpkgs/issues/37114.
Diffstat (limited to 'src/libutil/util.hh')
-rw-r--r-- | src/libutil/util.hh | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libutil/util.hh b/src/libutil/util.hh index c5c537ee63d8..500ab7811b93 100644 --- a/src/libutil/util.hh +++ b/src/libutil/util.hh @@ -391,11 +391,13 @@ void ignoreException(); #define ANSI_BLUE "\e[34;1m" -/* Truncate a string to 'width' printable characters. Certain ANSI - escape sequences (such as colour setting) are copied but not - included in the character count. Other ANSI escape sequences are - filtered. Also, tabs are expanded to spaces. */ +/* Truncate a string to 'width' printable characters. If 'filterAll' + is true, all ANSI escape sequences are filtered out. Otherwise, + some escape sequences (such as colour setting) are copied but not + included in the character count. Also, tabs are expanded to + spaces. */ std::string filterANSIEscapes(const std::string & s, + bool filterAll = false, unsigned int width = std::numeric_limits<unsigned int>::max()); |