Class CommandLine.Help.Ansi.Text
java.lang.Object
org.apache.logging.log4j.core.tools.picocli.CommandLine.Help.Ansi.Text
- All Implemented Interfaces:
Cloneable
- Enclosing class:
- CommandLine.Help.Ansi
Encapsulates rich text with styles and colors. Text objects may be constructed with Strings containing
markup like
@|bg(red),white,underline some text|@
, and this class converts the markup to ANSI
escape codes.
Internally keeps both an enriched and a plain text representation to allow layout components to calculate text width while remaining unaware of the embedded ANSI escape codes.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
private int
private final int
private StringBuilder
private List<CommandLine.Help.Ansi.StyledSection>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
addStyledSection
(int start, int length, String startStyle, String endStyle) Returns a newText
instance with the specified text appended.append
(CommandLine.Help.Ansi.Text other) Returns a newText
instance with the specified text appended.clone()
boolean
findSectionContaining
(int index) void
getStyledChars
(int from, int length, CommandLine.Help.Ansi.Text destination, int offset) Copies the specified substring of this Text into the specified destination, preserving the markup.int
hashCode()
Returns the plain text without any formatting.substring
(int start) Returns a newText
instance that is a substring of this Text.substring
(int start, int end) Returns a newText
instance that is a substring of this Text.toString()
Returns a String representation of the text with ANSI escape codes embedded, unless ANSI is CommandLine.Help.Ansi.enabled() not enabled}, in which case the plain text is returned.
-
Field Details
-
maxLength
private final int maxLength -
from
private int from -
length
private int length -
plain
-
sections
-
-
Constructor Details
-
Text
public Text(int maxLength) Constructs a Text with the specified max length (for use in a TextTable Column).- Parameters:
maxLength
- max length of this text
-
Text
Constructs a Text with the specified String, which may contain markup like@|bg(red),white,underline some text|@
.- Parameters:
input
- the string with markup to parse
-
-
Method Details
-
addStyledSection
-
clone
-
splitLines
-
substring
Returns a newText
instance that is a substring of this Text. Does not modify this instance!- Parameters:
start
- index in the plain text where to start the substring- Returns:
- a new Text instance that is a substring of this Text
-
substring
Returns a newText
instance that is a substring of this Text. Does not modify this instance!- Parameters:
start
- index in the plain text where to start the substringend
- index in the plain text where to end the substring- Returns:
- a new Text instance that is a substring of this Text
-
append
Returns a newText
instance with the specified text appended. Does not modify this instance!- Parameters:
string
- the text to append- Returns:
- a new Text instance
-
append
Returns a newText
instance with the specified text appended. Does not modify this instance!- Parameters:
other
- the text to append- Returns:
- a new Text instance
-
getStyledChars
public void getStyledChars(int from, int length, CommandLine.Help.Ansi.Text destination, int offset) Copies the specified substring of this Text into the specified destination, preserving the markup.- Parameters:
from
- start of the substringlength
- length of the substringdestination
- destination Text to modifyoffset
- indentation (padding)
-
plainString
Returns the plain text without any formatting.- Returns:
- the plain text without any formatting
-
equals
-
hashCode
public int hashCode() -
toString
Returns a String representation of the text with ANSI escape codes embedded, unless ANSI is CommandLine.Help.Ansi.enabled() not enabled}, in which case the plain text is returned. -
findSectionContaining
-