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 intprivate intprivate final intprivate StringBuilderprivate List<CommandLine.Help.Ansi.StyledSection> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate voidaddStyledSection(int start, int length, String startStyle, String endStyle) Returns a newTextinstance with the specified text appended.append(CommandLine.Help.Ansi.Text other) Returns a newTextinstance with the specified text appended.clone()booleanfindSectionContaining(int index) voidgetStyledChars(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.inthashCode()Returns the plain text without any formatting.substring(int start) Returns a newTextinstance that is a substring of this Text.substring(int start, int end) Returns a newTextinstance 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 newTextinstance 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 newTextinstance 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 newTextinstance with the specified text appended. Does not modify this instance!- Parameters:
string- the text to append- Returns:
- a new Text instance
-
append
Returns a newTextinstance 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
-