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
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to