- java.lang.Object
-
- picocli.CommandLine.Help.Ansi.Text
-
- All Implemented Interfaces:
Cloneable
- Enclosing class:
- CommandLine.Help.Ansi
public class CommandLine.Help.Ansi.Text extends Object implements Cloneable
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.
-
-
Constructor Summary
Constructors Constructor Description Text(int maxLength)
Constructs a Text with the specified max length (for use in a TextTable Column).Text(int maxLength, CommandLine.Help.ColorScheme colorScheme)
Constructs a Text with the specified max length (for use in a TextTable Column).Text(String input)
Constructs a Text with the specified String, which may contain markup like@|bg(red),white,underline some text|@
.Text(String input, CommandLine.Help.ColorScheme colorScheme)
Constructs a Text with the specified String (which may contain markup), and ColorScheme.Text(CommandLine.Help.Ansi.Text other)
Copy constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description CommandLine.Help.Ansi.Text
append(String string)
Deprecated.useconcat(String)
insteadCommandLine.Help.Ansi.Text
append(CommandLine.Help.Ansi.Text text)
Deprecated.useconcat(CommandLine.Help.Ansi.Text)
insteadObject
clone()
CommandLine.Help.Ansi.Text
concat(String string)
Returns a copy of thisText
instance with the specified text concatenated to the end.CommandLine.Help.Ansi.Text
concat(CommandLine.Help.Ansi.Text other)
Returns a copy of thisText
instance with the specified text concatenated to the end.boolean
equals(Object obj)
int
getCJKAdjustedLength()
Returns the number of columns this Text will occupy on the console, adjusted for wide CJK characters.int
getCJKAdjustedLength(int fromPosition, int charCount)
Returns the number of columns that the specified portion of this Text will occupy on the console, adjusted for wide CJK characters.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()
String
plainString()
Returns the plain text without any formatting.CommandLine.Help.Ansi.Text[]
splitLines()
CommandLine.Help.Ansi.Text
substring(int start)
Returns a newText
instance that is a substring of this Text.CommandLine.Help.Ansi.Text
substring(int start, int end)
Returns a newText
instance that is a substring of this Text.String
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.
-
-
-
Constructor Detail
-
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
public Text(int maxLength, CommandLine.Help.ColorScheme colorScheme)
Constructs a Text with the specified max length (for use in a TextTable Column).- Parameters:
maxLength
- max length of this textcolorScheme
- the colorScheme to use- Since:
- 4.2
-
Text
public Text(CommandLine.Help.Ansi.Text other)
Copy constructor.- Since:
- 3.9
-
Text
public Text(String input)
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
-
Text
public Text(String input, CommandLine.Help.ColorScheme colorScheme)
Constructs a Text with the specified String (which may contain markup), and ColorScheme.- Parameters:
input
- the string with markup like@|bg(red),white,underline some text|@
to parsecolorScheme
- the ColorScheme to use to map markup to replacement strings- Since:
- 4.2
-
-
Method Detail
-
splitLines
public CommandLine.Help.Ansi.Text[] splitLines()
-
substring
public CommandLine.Help.Ansi.Text substring(int start)
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
public CommandLine.Help.Ansi.Text substring(int start, int end)
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
@Deprecated public CommandLine.Help.Ansi.Text append(String string)
Deprecated.useconcat(String)
instead
-
append
@Deprecated public CommandLine.Help.Ansi.Text append(CommandLine.Help.Ansi.Text text)
Deprecated.useconcat(CommandLine.Help.Ansi.Text)
instead
-
concat
public CommandLine.Help.Ansi.Text concat(String string)
Returns a copy of thisText
instance with the specified text concatenated to the end. Does not modify this instance!- Parameters:
string
- the text to concatenate to the end of this Text- Returns:
- a new Text instance
- Since:
- 3.0
-
concat
public CommandLine.Help.Ansi.Text concat(CommandLine.Help.Ansi.Text other)
Returns a copy of thisText
instance with the specified text concatenated to the end. Does not modify this instance!- Parameters:
other
- the text to concatenate to the end of this Text- Returns:
- a new Text instance
- Since:
- 3.0
-
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
public String plainString()
Returns the plain text without any formatting.- Returns:
- the plain text without any formatting
-
toString
public String 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.
-
getCJKAdjustedLength
public int getCJKAdjustedLength()
Returns the number of columns this Text will occupy on the console, adjusted for wide CJK characters.- Returns:
- the number of columns this Text will occupy on the console, adjusted for wide CJK characters
- Since:
- 4.0
-
getCJKAdjustedLength
public int getCJKAdjustedLength(int fromPosition, int charCount)
Returns the number of columns that the specified portion of this Text will occupy on the console, adjusted for wide CJK characters.- Parameters:
fromPosition
- the position to start countingcharCount
- the number of characters in this Text to consider- Returns:
- the number of columns that the specified portion of this Text will occupy on the console, adjusted for wide CJK characters
- Since:
- 4.0
-
-