This trait describes the behavior of writers that support colored output.
Returns true if and only if the underlying writer supports colors.
Set the color settings of the writer.
Subsequent writes to this writer will use these settings until either
reset is called or new color settings are set.
If there was a problem setting the color settings, then an error is returned.
Reset the current color settings to their original settings.
If there was a problem resetting the color settings, then an error is returned.
Returns true if and only if the underlying writer must synchronously
interact with an end user’s device in order to control colors. By
default, this always returns
In practice, this should return
true if the underlying writer is
manipulating colors using the Windows console APIs.
This is useful for writing generic code (such as a buffered writer) that can perform certain optimizations when the underlying writer doesn’t rely on synchronous APIs. For example, ANSI escape sequences can be passed through to the end user’s device as is.