Package software.amazon.smithy.cli
Class ColorBuffer
java.lang.Object
software.amazon.smithy.cli.ColorBuffer
- All Implemented Interfaces:
Appendable
,AutoCloseable
An
Appendable
that supports color provided by a ColorFormatter
.
A ColorBuffer
is not thread-safe and is meant to write short contiguous output text that will
eventually be written to other things like a CliPrinter
.
When wrapping a CliPrinter
, ensure you use close()
to write to the printer. Alternatively,
wrap the buffer in a try-with-resources block.
-
Method Summary
Modifier and TypeMethodDescriptionappend
(char c) append
(CharSequence csq) append
(CharSequence csq, int start, int end) void
close()
static ColorBuffer
of
(ColorFormatter colors, Appendable sink) Create a new ColorBuffer that directly writes to the givensink
.static ColorBuffer
of
(ColorFormatter colors, CliPrinter sink) Create a new ColorBuffer that stores all output to an internal buffer and only writes to the givenCliPrinter
whenclose()
is called.Writes styled text to the builder using the CliPrinter's color settings.println()
Writes a system-dependent new line.Prints a line of styled text to the buffer.style
(Consumer<ColorBuffer> bufferConsumer, Style... styles) toString()
-
Method Details
-
of
Create a new ColorBuffer that directly writes to the givensink
.No additional buffering is used when buffering over an
Appendable
. Each call to write to the buffer will write to the appendable.- Parameters:
colors
- ColorFormatter used to provide colors and style.sink
- Where to write.- Returns:
- Returns the created buffer.
-
of
Create a new ColorBuffer that stores all output to an internal buffer and only writes to the givenCliPrinter
whenclose()
is called.- Parameters:
colors
- ColorFormatter used to provide colors and style.sink
- Where to write.- Returns:
- Returns the created buffer.
-
toString
-
append
- Specified by:
append
in interfaceAppendable
-
append
- Specified by:
append
in interfaceAppendable
-
append
- Specified by:
append
in interfaceAppendable
-
print
Writes styled text to the builder using the CliPrinter's color settings.- Parameters:
text
- Text to write.styles
- Styles to apply to the text.- Returns:
- Returns self.
-
println
Prints a line of styled text to the buffer.- Parameters:
text
- Text to print.styles
- Styles to apply.- Returns:
- Returns self.
-
println
Writes a system-dependent new line.- Returns:
- Returns the buffer.
-
style
-
close
public void close()- Specified by:
close
in interfaceAutoCloseable
-