JDevlieghere wrote:
The stream already knows whether color support is enabled, but it looks like
we're only storing that in the underlying llvm stream, which is commonly used
in combination with `WithColor`. I think we could add a member to check if the
stream has colors enabled. It's already a property of `m_forwarder` so we don't
need to create a new member.
```
SBStream::HasColor() {
return m_forwarded.has_color();
}
```
Alternatively, we could add a helper that does that under the hood.
```
SBStream::FormatAnsiTerminalCodes(llvm::StringRef format) {
if (m_forwarded.has_color())
print(FormatAnsiTerminalCodes(format));
}
```
So instead of having to write:
```
if(s->HasColor())
s->Printf("%s", ansi::FormatAnsiTerminalCodes("${ansi.faint}").c_str());
```
You can just write:
```
s-> FormatAnsiTerminalCodes("${ansi.faint}")
```
and have it do the right thing.
```
I think I understand Jim's concern. Most places that we use colors, we do that
through `WithColor` which checks the color property of the underlying LLVM
stream. Chelsea is not going through WithColor, so in her case she would indeed
need to check
https://github.com/llvm/llvm-project/pull/91404
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits