class String
Overview
A String
represents an immutable sequence of UTF-8 characters.
A String
is typically created with a string literal, enclosing UTF-8 characters
in double quotes:
"hello world"
See String
literals in the language reference.
A backslash can be used to denote some characters inside the string:
"\"" # double quote
"\\" # backslash
"\e" # escape
"\f" # form feed
"\n" # newline
"\r" # carriage return
"\t" # tab
"\v" # vertical tab
You can use a backslash followed by an u and four hexadecimal characters to denote a unicode codepoint written:
"\u0041" # == "A"
Or you can use curly braces and specify up to six hexadecimal numbers (0 to 10FFFF):
"\u{41}" # == "A"
A string can span multiple lines:
"hello
world" # same as "hello\n world"
Note that in the above example trailing and leading spaces, as well as newlines,
end up in the resulting string. To avoid this, you can split a string into multiple lines
by joining multiple literals with a backslash:
"hello " \
"world, " \
"no newlines" # same as "hello world, no newlines"
Alternatively, a backslash followed by a newline can be inserted inside the string literal:
"hello \
world, \
no newlines" # same as "hello world, no newlines"
In this case, leading whitespace is not included in the resulting string.
If you need to write a string that has many double quotes, parentheses, or similar
characters, you can use alternative literals:
# Supports double quotes and nested parentheses
%(hello ("world")) # same as "hello (\"world\")"
# Supports double quotes and nested brackets
%[hello ["world"]] # same as "hello [\"world\"]"
# Supports double quotes and nested curlies
%{hello {"world"}} # same as "hello {\"world\"}"
# Supports double quotes and nested angles
%<hello <"world">> # same as "hello <\"world\">"
To create a String
with embedded expressions, you can use string interpolation:
a = 1
b = 2
"sum = #{ a + b} " # "sum = 3"
This ends up invoking Object#to_s(IO)
on each expression enclosed by #{...}
.
If you need to dynamically build a string, use String#build
or IO::Memory
.
Non UTF-8 valid strings
A string might end up being composed of bytes which form an invalid
byte sequence according to UTF-8. This can happen if the string is created
via one of the constructors that accept bytes, or when getting a string
from String.build
or IO::Memory
. No exception will be raised, but every
byte that doesn't start a valid UTF-8 byte sequence is interpreted as though
it encodes the Unicode replacement character (U+FFFD) by itself. For example:
# here 255 is not a valid byte value in the UTF-8 encoding
string = String .new(Bytes [255 , 97 ])
string.valid_encoding? # => false
# The first char here is the unicode replacement char
string.chars # => ['�', 'a']
One can also create strings with specific byte value in them by
using octal and hexadecimal escape sequences:
# Octal escape sequences
"\101" # # => "A"
"\12" # # => "\n"
"\1" # string with one character with code point 1
"\377" # string with one byte with value 255
# Hexadecimal escape sequences
"\x41" # # => "A"
"\xFF" # string with one byte with value 255
The reason for allowing strings that don't have a valid UTF-8 sequence
is that the world is full of content that isn't properly encoded,
and having a program raise an exception or stop because of this
is not good. It's better if programs are more resilient, but
show a replacement character when there's an error in incoming data.
Note that this interpretation only applies to methods inside Crystal; calling
#to_slice
or #to_unsafe
, e.g. when passing a string to a C library, will
expose the invalid UTF-8 byte sequences. In particular, Regex
's underlying
engine may reject strings that are not valid UTF-8, or it may invoke undefined
behavior on invalid strings. If this is undesired, #scrub
could be used to
remove the offending byte sequences first.
Included Modules
Defined in:
colorful.cr
Instance methods inherited from module Colorful
black
black ,
black_on_black
black_on_black ,
black_on_black_with_blink
black_on_black_with_blink ,
black_on_black_with_bold
black_on_black_with_bold ,
black_on_black_with_default
black_on_black_with_default ,
black_on_black_with_hide
black_on_black_with_hide ,
black_on_black_with_italic
black_on_black_with_italic ,
black_on_black_with_reversed
black_on_black_with_reversed ,
black_on_black_with_underline
black_on_black_with_underline ,
black_on_blue
black_on_blue ,
black_on_blue_with_blink
black_on_blue_with_blink ,
black_on_blue_with_bold
black_on_blue_with_bold ,
black_on_blue_with_default
black_on_blue_with_default ,
black_on_blue_with_hide
black_on_blue_with_hide ,
black_on_blue_with_italic
black_on_blue_with_italic ,
black_on_blue_with_reversed
black_on_blue_with_reversed ,
black_on_blue_with_underline
black_on_blue_with_underline ,
black_on_cyan
black_on_cyan ,
black_on_cyan_with_blink
black_on_cyan_with_blink ,
black_on_cyan_with_bold
black_on_cyan_with_bold ,
black_on_cyan_with_default
black_on_cyan_with_default ,
black_on_cyan_with_hide
black_on_cyan_with_hide ,
black_on_cyan_with_italic
black_on_cyan_with_italic ,
black_on_cyan_with_reversed
black_on_cyan_with_reversed ,
black_on_cyan_with_underline
black_on_cyan_with_underline ,
black_on_green
black_on_green ,
black_on_green_with_blink
black_on_green_with_blink ,
black_on_green_with_bold
black_on_green_with_bold ,
black_on_green_with_default
black_on_green_with_default ,
black_on_green_with_hide
black_on_green_with_hide ,
black_on_green_with_italic
black_on_green_with_italic ,
black_on_green_with_reversed
black_on_green_with_reversed ,
black_on_green_with_underline
black_on_green_with_underline ,
black_on_magenta
black_on_magenta ,
black_on_magenta_with_blink
black_on_magenta_with_blink ,
black_on_magenta_with_bold
black_on_magenta_with_bold ,
black_on_magenta_with_default
black_on_magenta_with_default ,
black_on_magenta_with_hide
black_on_magenta_with_hide ,
black_on_magenta_with_italic
black_on_magenta_with_italic ,
black_on_magenta_with_reversed
black_on_magenta_with_reversed ,
black_on_magenta_with_underline
black_on_magenta_with_underline ,
black_on_red
black_on_red ,
black_on_red_with_blink
black_on_red_with_blink ,
black_on_red_with_bold
black_on_red_with_bold ,
black_on_red_with_default
black_on_red_with_default ,
black_on_red_with_hide
black_on_red_with_hide ,
black_on_red_with_italic
black_on_red_with_italic ,
black_on_red_with_reversed
black_on_red_with_reversed ,
black_on_red_with_underline
black_on_red_with_underline ,
black_on_white
black_on_white ,
black_on_white_with_blink
black_on_white_with_blink ,
black_on_white_with_bold
black_on_white_with_bold ,
black_on_white_with_default
black_on_white_with_default ,
black_on_white_with_hide
black_on_white_with_hide ,
black_on_white_with_italic
black_on_white_with_italic ,
black_on_white_with_reversed
black_on_white_with_reversed ,
black_on_white_with_underline
black_on_white_with_underline ,
black_on_yellow
black_on_yellow ,
black_on_yellow_with_blink
black_on_yellow_with_blink ,
black_on_yellow_with_bold
black_on_yellow_with_bold ,
black_on_yellow_with_default
black_on_yellow_with_default ,
black_on_yellow_with_hide
black_on_yellow_with_hide ,
black_on_yellow_with_italic
black_on_yellow_with_italic ,
black_on_yellow_with_reversed
black_on_yellow_with_reversed ,
black_on_yellow_with_underline
black_on_yellow_with_underline ,
black_with_blink
black_with_blink ,
black_with_bold
black_with_bold ,
black_with_default
black_with_default ,
black_with_hide
black_with_hide ,
black_with_italic
black_with_italic ,
black_with_reversed
black_with_reversed ,
black_with_underline
black_with_underline ,
blink
blink ,
blue
blue ,
blue_on_black
blue_on_black ,
blue_on_black_with_blink
blue_on_black_with_blink ,
blue_on_black_with_bold
blue_on_black_with_bold ,
blue_on_black_with_default
blue_on_black_with_default ,
blue_on_black_with_hide
blue_on_black_with_hide ,
blue_on_black_with_italic
blue_on_black_with_italic ,
blue_on_black_with_reversed
blue_on_black_with_reversed ,
blue_on_black_with_underline
blue_on_black_with_underline ,
blue_on_blue
blue_on_blue ,
blue_on_blue_with_blink
blue_on_blue_with_blink ,
blue_on_blue_with_bold
blue_on_blue_with_bold ,
blue_on_blue_with_default
blue_on_blue_with_default ,
blue_on_blue_with_hide
blue_on_blue_with_hide ,
blue_on_blue_with_italic
blue_on_blue_with_italic ,
blue_on_blue_with_reversed
blue_on_blue_with_reversed ,
blue_on_blue_with_underline
blue_on_blue_with_underline ,
blue_on_cyan
blue_on_cyan ,
blue_on_cyan_with_blink
blue_on_cyan_with_blink ,
blue_on_cyan_with_bold
blue_on_cyan_with_bold ,
blue_on_cyan_with_default
blue_on_cyan_with_default ,
blue_on_cyan_with_hide
blue_on_cyan_with_hide ,
blue_on_cyan_with_italic
blue_on_cyan_with_italic ,
blue_on_cyan_with_reversed
blue_on_cyan_with_reversed ,
blue_on_cyan_with_underline
blue_on_cyan_with_underline ,
blue_on_green
blue_on_green ,
blue_on_green_with_blink
blue_on_green_with_blink ,
blue_on_green_with_bold
blue_on_green_with_bold ,
blue_on_green_with_default
blue_on_green_with_default ,
blue_on_green_with_hide
blue_on_green_with_hide ,
blue_on_green_with_italic
blue_on_green_with_italic ,
blue_on_green_with_reversed
blue_on_green_with_reversed ,
blue_on_green_with_underline
blue_on_green_with_underline ,
blue_on_magenta
blue_on_magenta ,
blue_on_magenta_with_blink
blue_on_magenta_with_blink ,
blue_on_magenta_with_bold
blue_on_magenta_with_bold ,
blue_on_magenta_with_default
blue_on_magenta_with_default ,
blue_on_magenta_with_hide
blue_on_magenta_with_hide ,
blue_on_magenta_with_italic
blue_on_magenta_with_italic ,
blue_on_magenta_with_reversed
blue_on_magenta_with_reversed ,
blue_on_magenta_with_underline
blue_on_magenta_with_underline ,
blue_on_red
blue_on_red ,
blue_on_red_with_blink
blue_on_red_with_blink ,
blue_on_red_with_bold
blue_on_red_with_bold ,
blue_on_red_with_default
blue_on_red_with_default ,
blue_on_red_with_hide
blue_on_red_with_hide ,
blue_on_red_with_italic
blue_on_red_with_italic ,
blue_on_red_with_reversed
blue_on_red_with_reversed ,
blue_on_red_with_underline
blue_on_red_with_underline ,
blue_on_white
blue_on_white ,
blue_on_white_with_blink
blue_on_white_with_blink ,
blue_on_white_with_bold
blue_on_white_with_bold ,
blue_on_white_with_default
blue_on_white_with_default ,
blue_on_white_with_hide
blue_on_white_with_hide ,
blue_on_white_with_italic
blue_on_white_with_italic ,
blue_on_white_with_reversed
blue_on_white_with_reversed ,
blue_on_white_with_underline
blue_on_white_with_underline ,
blue_on_yellow
blue_on_yellow ,
blue_on_yellow_with_blink
blue_on_yellow_with_blink ,
blue_on_yellow_with_bold
blue_on_yellow_with_bold ,
blue_on_yellow_with_default
blue_on_yellow_with_default ,
blue_on_yellow_with_hide
blue_on_yellow_with_hide ,
blue_on_yellow_with_italic
blue_on_yellow_with_italic ,
blue_on_yellow_with_reversed
blue_on_yellow_with_reversed ,
blue_on_yellow_with_underline
blue_on_yellow_with_underline ,
blue_with_blink
blue_with_blink ,
blue_with_bold
blue_with_bold ,
blue_with_default
blue_with_default ,
blue_with_hide
blue_with_hide ,
blue_with_italic
blue_with_italic ,
blue_with_reversed
blue_with_reversed ,
blue_with_underline
blue_with_underline ,
bold
bold ,
color(color_name : String | Nil, background : Bool = false )
color ,
colorful(options = {} of String => String )
colorful ,
colors
colors ,
cyan
cyan ,
cyan_on_black
cyan_on_black ,
cyan_on_black_with_blink
cyan_on_black_with_blink ,
cyan_on_black_with_bold
cyan_on_black_with_bold ,
cyan_on_black_with_default
cyan_on_black_with_default ,
cyan_on_black_with_hide
cyan_on_black_with_hide ,
cyan_on_black_with_italic
cyan_on_black_with_italic ,
cyan_on_black_with_reversed
cyan_on_black_with_reversed ,
cyan_on_black_with_underline
cyan_on_black_with_underline ,
cyan_on_blue
cyan_on_blue ,
cyan_on_blue_with_blink
cyan_on_blue_with_blink ,
cyan_on_blue_with_bold
cyan_on_blue_with_bold ,
cyan_on_blue_with_default
cyan_on_blue_with_default ,
cyan_on_blue_with_hide
cyan_on_blue_with_hide ,
cyan_on_blue_with_italic
cyan_on_blue_with_italic ,
cyan_on_blue_with_reversed
cyan_on_blue_with_reversed ,
cyan_on_blue_with_underline
cyan_on_blue_with_underline ,
cyan_on_cyan
cyan_on_cyan ,
cyan_on_cyan_with_blink
cyan_on_cyan_with_blink ,
cyan_on_cyan_with_bold
cyan_on_cyan_with_bold ,
cyan_on_cyan_with_default
cyan_on_cyan_with_default ,
cyan_on_cyan_with_hide
cyan_on_cyan_with_hide ,
cyan_on_cyan_with_italic
cyan_on_cyan_with_italic ,
cyan_on_cyan_with_reversed
cyan_on_cyan_with_reversed ,
cyan_on_cyan_with_underline
cyan_on_cyan_with_underline ,
cyan_on_green
cyan_on_green ,
cyan_on_green_with_blink
cyan_on_green_with_blink ,
cyan_on_green_with_bold
cyan_on_green_with_bold ,
cyan_on_green_with_default
cyan_on_green_with_default ,
cyan_on_green_with_hide
cyan_on_green_with_hide ,
cyan_on_green_with_italic
cyan_on_green_with_italic ,
cyan_on_green_with_reversed
cyan_on_green_with_reversed ,
cyan_on_green_with_underline
cyan_on_green_with_underline ,
cyan_on_magenta
cyan_on_magenta ,
cyan_on_magenta_with_blink
cyan_on_magenta_with_blink ,
cyan_on_magenta_with_bold
cyan_on_magenta_with_bold ,
cyan_on_magenta_with_default
cyan_on_magenta_with_default ,
cyan_on_magenta_with_hide
cyan_on_magenta_with_hide ,
cyan_on_magenta_with_italic
cyan_on_magenta_with_italic ,
cyan_on_magenta_with_reversed
cyan_on_magenta_with_reversed ,
cyan_on_magenta_with_underline
cyan_on_magenta_with_underline ,
cyan_on_red
cyan_on_red ,
cyan_on_red_with_blink
cyan_on_red_with_blink ,
cyan_on_red_with_bold
cyan_on_red_with_bold ,
cyan_on_red_with_default
cyan_on_red_with_default ,
cyan_on_red_with_hide
cyan_on_red_with_hide ,
cyan_on_red_with_italic
cyan_on_red_with_italic ,
cyan_on_red_with_reversed
cyan_on_red_with_reversed ,
cyan_on_red_with_underline
cyan_on_red_with_underline ,
cyan_on_white
cyan_on_white ,
cyan_on_white_with_blink
cyan_on_white_with_blink ,
cyan_on_white_with_bold
cyan_on_white_with_bold ,
cyan_on_white_with_default
cyan_on_white_with_default ,
cyan_on_white_with_hide
cyan_on_white_with_hide ,
cyan_on_white_with_italic
cyan_on_white_with_italic ,
cyan_on_white_with_reversed
cyan_on_white_with_reversed ,
cyan_on_white_with_underline
cyan_on_white_with_underline ,
cyan_on_yellow
cyan_on_yellow ,
cyan_on_yellow_with_blink
cyan_on_yellow_with_blink ,
cyan_on_yellow_with_bold
cyan_on_yellow_with_bold ,
cyan_on_yellow_with_default
cyan_on_yellow_with_default ,
cyan_on_yellow_with_hide
cyan_on_yellow_with_hide ,
cyan_on_yellow_with_italic
cyan_on_yellow_with_italic ,
cyan_on_yellow_with_reversed
cyan_on_yellow_with_reversed ,
cyan_on_yellow_with_underline
cyan_on_yellow_with_underline ,
cyan_with_blink
cyan_with_blink ,
cyan_with_bold
cyan_with_bold ,
cyan_with_default
cyan_with_default ,
cyan_with_hide
cyan_with_hide ,
cyan_with_italic
cyan_with_italic ,
cyan_with_reversed
cyan_with_reversed ,
cyan_with_underline
cyan_with_underline ,
default
default ,
green
green ,
green_on_black
green_on_black ,
green_on_black_with_blink
green_on_black_with_blink ,
green_on_black_with_bold
green_on_black_with_bold ,
green_on_black_with_default
green_on_black_with_default ,
green_on_black_with_hide
green_on_black_with_hide ,
green_on_black_with_italic
green_on_black_with_italic ,
green_on_black_with_reversed
green_on_black_with_reversed ,
green_on_black_with_underline
green_on_black_with_underline ,
green_on_blue
green_on_blue ,
green_on_blue_with_blink
green_on_blue_with_blink ,
green_on_blue_with_bold
green_on_blue_with_bold ,
green_on_blue_with_default
green_on_blue_with_default ,
green_on_blue_with_hide
green_on_blue_with_hide ,
green_on_blue_with_italic
green_on_blue_with_italic ,
green_on_blue_with_reversed
green_on_blue_with_reversed ,
green_on_blue_with_underline
green_on_blue_with_underline ,
green_on_cyan
green_on_cyan ,
green_on_cyan_with_blink
green_on_cyan_with_blink ,
green_on_cyan_with_bold
green_on_cyan_with_bold ,
green_on_cyan_with_default
green_on_cyan_with_default ,
green_on_cyan_with_hide
green_on_cyan_with_hide ,
green_on_cyan_with_italic
green_on_cyan_with_italic ,
green_on_cyan_with_reversed
green_on_cyan_with_reversed ,
green_on_cyan_with_underline
green_on_cyan_with_underline ,
green_on_green
green_on_green ,
green_on_green_with_blink
green_on_green_with_blink ,
green_on_green_with_bold
green_on_green_with_bold ,
green_on_green_with_default
green_on_green_with_default ,
green_on_green_with_hide
green_on_green_with_hide ,
green_on_green_with_italic
green_on_green_with_italic ,
green_on_green_with_reversed
green_on_green_with_reversed ,
green_on_green_with_underline
green_on_green_with_underline ,
green_on_magenta
green_on_magenta ,
green_on_magenta_with_blink
green_on_magenta_with_blink ,
green_on_magenta_with_bold
green_on_magenta_with_bold ,
green_on_magenta_with_default
green_on_magenta_with_default ,
green_on_magenta_with_hide
green_on_magenta_with_hide ,
green_on_magenta_with_italic
green_on_magenta_with_italic ,
green_on_magenta_with_reversed
green_on_magenta_with_reversed ,
green_on_magenta_with_underline
green_on_magenta_with_underline ,
green_on_red
green_on_red ,
green_on_red_with_blink
green_on_red_with_blink ,
green_on_red_with_bold
green_on_red_with_bold ,
green_on_red_with_default
green_on_red_with_default ,
green_on_red_with_hide
green_on_red_with_hide ,
green_on_red_with_italic
green_on_red_with_italic ,
green_on_red_with_reversed
green_on_red_with_reversed ,
green_on_red_with_underline
green_on_red_with_underline ,
green_on_white
green_on_white ,
green_on_white_with_blink
green_on_white_with_blink ,
green_on_white_with_bold
green_on_white_with_bold ,
green_on_white_with_default
green_on_white_with_default ,
green_on_white_with_hide
green_on_white_with_hide ,
green_on_white_with_italic
green_on_white_with_italic ,
green_on_white_with_reversed
green_on_white_with_reversed ,
green_on_white_with_underline
green_on_white_with_underline ,
green_on_yellow
green_on_yellow ,
green_on_yellow_with_blink
green_on_yellow_with_blink ,
green_on_yellow_with_bold
green_on_yellow_with_bold ,
green_on_yellow_with_default
green_on_yellow_with_default ,
green_on_yellow_with_hide
green_on_yellow_with_hide ,
green_on_yellow_with_italic
green_on_yellow_with_italic ,
green_on_yellow_with_reversed
green_on_yellow_with_reversed ,
green_on_yellow_with_underline
green_on_yellow_with_underline ,
green_with_blink
green_with_blink ,
green_with_bold
green_with_bold ,
green_with_default
green_with_default ,
green_with_hide
green_with_hide ,
green_with_italic
green_with_italic ,
green_with_reversed
green_with_reversed ,
green_with_underline
green_with_underline ,
hide
hide ,
italic
italic ,
magenta
magenta ,
magenta_on_black
magenta_on_black ,
magenta_on_black_with_blink
magenta_on_black_with_blink ,
magenta_on_black_with_bold
magenta_on_black_with_bold ,
magenta_on_black_with_default
magenta_on_black_with_default ,
magenta_on_black_with_hide
magenta_on_black_with_hide ,
magenta_on_black_with_italic
magenta_on_black_with_italic ,
magenta_on_black_with_reversed
magenta_on_black_with_reversed ,
magenta_on_black_with_underline
magenta_on_black_with_underline ,
magenta_on_blue
magenta_on_blue ,
magenta_on_blue_with_blink
magenta_on_blue_with_blink ,
magenta_on_blue_with_bold
magenta_on_blue_with_bold ,
magenta_on_blue_with_default
magenta_on_blue_with_default ,
magenta_on_blue_with_hide
magenta_on_blue_with_hide ,
magenta_on_blue_with_italic
magenta_on_blue_with_italic ,
magenta_on_blue_with_reversed
magenta_on_blue_with_reversed ,
magenta_on_blue_with_underline
magenta_on_blue_with_underline ,
magenta_on_cyan
magenta_on_cyan ,
magenta_on_cyan_with_blink
magenta_on_cyan_with_blink ,
magenta_on_cyan_with_bold
magenta_on_cyan_with_bold ,
magenta_on_cyan_with_default
magenta_on_cyan_with_default ,
magenta_on_cyan_with_hide
magenta_on_cyan_with_hide ,
magenta_on_cyan_with_italic
magenta_on_cyan_with_italic ,
magenta_on_cyan_with_reversed
magenta_on_cyan_with_reversed ,
magenta_on_cyan_with_underline
magenta_on_cyan_with_underline ,
magenta_on_green
magenta_on_green ,
magenta_on_green_with_blink
magenta_on_green_with_blink ,
magenta_on_green_with_bold
magenta_on_green_with_bold ,
magenta_on_green_with_default
magenta_on_green_with_default ,
magenta_on_green_with_hide
magenta_on_green_with_hide ,
magenta_on_green_with_italic
magenta_on_green_with_italic ,
magenta_on_green_with_reversed
magenta_on_green_with_reversed ,
magenta_on_green_with_underline
magenta_on_green_with_underline ,
magenta_on_magenta
magenta_on_magenta ,
magenta_on_magenta_with_blink
magenta_on_magenta_with_blink ,
magenta_on_magenta_with_bold
magenta_on_magenta_with_bold ,
magenta_on_magenta_with_default
magenta_on_magenta_with_default ,
magenta_on_magenta_with_hide
magenta_on_magenta_with_hide ,
magenta_on_magenta_with_italic
magenta_on_magenta_with_italic ,
magenta_on_magenta_with_reversed
magenta_on_magenta_with_reversed ,
magenta_on_magenta_with_underline
magenta_on_magenta_with_underline ,
magenta_on_red
magenta_on_red ,
magenta_on_red_with_blink
magenta_on_red_with_blink ,
magenta_on_red_with_bold
magenta_on_red_with_bold ,
magenta_on_red_with_default
magenta_on_red_with_default ,
magenta_on_red_with_hide
magenta_on_red_with_hide ,
magenta_on_red_with_italic
magenta_on_red_with_italic ,
magenta_on_red_with_reversed
magenta_on_red_with_reversed ,
magenta_on_red_with_underline
magenta_on_red_with_underline ,
magenta_on_white
magenta_on_white ,
magenta_on_white_with_blink
magenta_on_white_with_blink ,
magenta_on_white_with_bold
magenta_on_white_with_bold ,
magenta_on_white_with_default
magenta_on_white_with_default ,
magenta_on_white_with_hide
magenta_on_white_with_hide ,
magenta_on_white_with_italic
magenta_on_white_with_italic ,
magenta_on_white_with_reversed
magenta_on_white_with_reversed ,
magenta_on_white_with_underline
magenta_on_white_with_underline ,
magenta_on_yellow
magenta_on_yellow ,
magenta_on_yellow_with_blink
magenta_on_yellow_with_blink ,
magenta_on_yellow_with_bold
magenta_on_yellow_with_bold ,
magenta_on_yellow_with_default
magenta_on_yellow_with_default ,
magenta_on_yellow_with_hide
magenta_on_yellow_with_hide ,
magenta_on_yellow_with_italic
magenta_on_yellow_with_italic ,
magenta_on_yellow_with_reversed
magenta_on_yellow_with_reversed ,
magenta_on_yellow_with_underline
magenta_on_yellow_with_underline ,
magenta_with_blink
magenta_with_blink ,
magenta_with_bold
magenta_with_bold ,
magenta_with_default
magenta_with_default ,
magenta_with_hide
magenta_with_hide ,
magenta_with_italic
magenta_with_italic ,
magenta_with_reversed
magenta_with_reversed ,
magenta_with_underline
magenta_with_underline ,
modes
modes ,
on_black
on_black ,
on_black_with_blink
on_black_with_blink ,
on_black_with_bold
on_black_with_bold ,
on_black_with_default
on_black_with_default ,
on_black_with_hide
on_black_with_hide ,
on_black_with_italic
on_black_with_italic ,
on_black_with_reversed
on_black_with_reversed ,
on_black_with_underline
on_black_with_underline ,
on_blue
on_blue ,
on_blue_with_blink
on_blue_with_blink ,
on_blue_with_bold
on_blue_with_bold ,
on_blue_with_default
on_blue_with_default ,
on_blue_with_hide
on_blue_with_hide ,
on_blue_with_italic
on_blue_with_italic ,
on_blue_with_reversed
on_blue_with_reversed ,
on_blue_with_underline
on_blue_with_underline ,
on_cyan
on_cyan ,
on_cyan_with_blink
on_cyan_with_blink ,
on_cyan_with_bold
on_cyan_with_bold ,
on_cyan_with_default
on_cyan_with_default ,
on_cyan_with_hide
on_cyan_with_hide ,
on_cyan_with_italic
on_cyan_with_italic ,
on_cyan_with_reversed
on_cyan_with_reversed ,
on_cyan_with_underline
on_cyan_with_underline ,
on_green
on_green ,
on_green_with_blink
on_green_with_blink ,
on_green_with_bold
on_green_with_bold ,
on_green_with_default
on_green_with_default ,
on_green_with_hide
on_green_with_hide ,
on_green_with_italic
on_green_with_italic ,
on_green_with_reversed
on_green_with_reversed ,
on_green_with_underline
on_green_with_underline ,
on_magenta
on_magenta ,
on_magenta_with_blink
on_magenta_with_blink ,
on_magenta_with_bold
on_magenta_with_bold ,
on_magenta_with_default
on_magenta_with_default ,
on_magenta_with_hide
on_magenta_with_hide ,
on_magenta_with_italic
on_magenta_with_italic ,
on_magenta_with_reversed
on_magenta_with_reversed ,
on_magenta_with_underline
on_magenta_with_underline ,
on_red
on_red ,
on_red_with_blink
on_red_with_blink ,
on_red_with_bold
on_red_with_bold ,
on_red_with_default
on_red_with_default ,
on_red_with_hide
on_red_with_hide ,
on_red_with_italic
on_red_with_italic ,
on_red_with_reversed
on_red_with_reversed ,
on_red_with_underline
on_red_with_underline ,
on_white
on_white ,
on_white_with_blink
on_white_with_blink ,
on_white_with_bold
on_white_with_bold ,
on_white_with_default
on_white_with_default ,
on_white_with_hide
on_white_with_hide ,
on_white_with_italic
on_white_with_italic ,
on_white_with_reversed
on_white_with_reversed ,
on_white_with_underline
on_white_with_underline ,
on_yellow
on_yellow ,
on_yellow_with_blink
on_yellow_with_blink ,
on_yellow_with_bold
on_yellow_with_bold ,
on_yellow_with_default
on_yellow_with_default ,
on_yellow_with_hide
on_yellow_with_hide ,
on_yellow_with_italic
on_yellow_with_italic ,
on_yellow_with_reversed
on_yellow_with_reversed ,
on_yellow_with_underline
on_yellow_with_underline ,
red
red ,
red_on_black
red_on_black ,
red_on_black_with_blink
red_on_black_with_blink ,
red_on_black_with_bold
red_on_black_with_bold ,
red_on_black_with_default
red_on_black_with_default ,
red_on_black_with_hide
red_on_black_with_hide ,
red_on_black_with_italic
red_on_black_with_italic ,
red_on_black_with_reversed
red_on_black_with_reversed ,
red_on_black_with_underline
red_on_black_with_underline ,
red_on_blue
red_on_blue ,
red_on_blue_with_blink
red_on_blue_with_blink ,
red_on_blue_with_bold
red_on_blue_with_bold ,
red_on_blue_with_default
red_on_blue_with_default ,
red_on_blue_with_hide
red_on_blue_with_hide ,
red_on_blue_with_italic
red_on_blue_with_italic ,
red_on_blue_with_reversed
red_on_blue_with_reversed ,
red_on_blue_with_underline
red_on_blue_with_underline ,
red_on_cyan
red_on_cyan ,
red_on_cyan_with_blink
red_on_cyan_with_blink ,
red_on_cyan_with_bold
red_on_cyan_with_bold ,
red_on_cyan_with_default
red_on_cyan_with_default ,
red_on_cyan_with_hide
red_on_cyan_with_hide ,
red_on_cyan_with_italic
red_on_cyan_with_italic ,
red_on_cyan_with_reversed
red_on_cyan_with_reversed ,
red_on_cyan_with_underline
red_on_cyan_with_underline ,
red_on_green
red_on_green ,
red_on_green_with_blink
red_on_green_with_blink ,
red_on_green_with_bold
red_on_green_with_bold ,
red_on_green_with_default
red_on_green_with_default ,
red_on_green_with_hide
red_on_green_with_hide ,
red_on_green_with_italic
red_on_green_with_italic ,
red_on_green_with_reversed
red_on_green_with_reversed ,
red_on_green_with_underline
red_on_green_with_underline ,
red_on_magenta
red_on_magenta ,
red_on_magenta_with_blink
red_on_magenta_with_blink ,
red_on_magenta_with_bold
red_on_magenta_with_bold ,
red_on_magenta_with_default
red_on_magenta_with_default ,
red_on_magenta_with_hide
red_on_magenta_with_hide ,
red_on_magenta_with_italic
red_on_magenta_with_italic ,
red_on_magenta_with_reversed
red_on_magenta_with_reversed ,
red_on_magenta_with_underline
red_on_magenta_with_underline ,
red_on_red
red_on_red ,
red_on_red_with_blink
red_on_red_with_blink ,
red_on_red_with_bold
red_on_red_with_bold ,
red_on_red_with_default
red_on_red_with_default ,
red_on_red_with_hide
red_on_red_with_hide ,
red_on_red_with_italic
red_on_red_with_italic ,
red_on_red_with_reversed
red_on_red_with_reversed ,
red_on_red_with_underline
red_on_red_with_underline ,
red_on_white
red_on_white ,
red_on_white_with_blink
red_on_white_with_blink ,
red_on_white_with_bold
red_on_white_with_bold ,
red_on_white_with_default
red_on_white_with_default ,
red_on_white_with_hide
red_on_white_with_hide ,
red_on_white_with_italic
red_on_white_with_italic ,
red_on_white_with_reversed
red_on_white_with_reversed ,
red_on_white_with_underline
red_on_white_with_underline ,
red_on_yellow
red_on_yellow ,
red_on_yellow_with_blink
red_on_yellow_with_blink ,
red_on_yellow_with_bold
red_on_yellow_with_bold ,
red_on_yellow_with_default
red_on_yellow_with_default ,
red_on_yellow_with_hide
red_on_yellow_with_hide ,
red_on_yellow_with_italic
red_on_yellow_with_italic ,
red_on_yellow_with_reversed
red_on_yellow_with_reversed ,
red_on_yellow_with_underline
red_on_yellow_with_underline ,
red_with_blink
red_with_blink ,
red_with_bold
red_with_bold ,
red_with_default
red_with_default ,
red_with_hide
red_with_hide ,
red_with_italic
red_with_italic ,
red_with_reversed
red_with_reversed ,
red_with_underline
red_with_underline ,
reversed
reversed ,
underline
underline ,
white
white ,
white_on_black
white_on_black ,
white_on_black_with_blink
white_on_black_with_blink ,
white_on_black_with_bold
white_on_black_with_bold ,
white_on_black_with_default
white_on_black_with_default ,
white_on_black_with_hide
white_on_black_with_hide ,
white_on_black_with_italic
white_on_black_with_italic ,
white_on_black_with_reversed
white_on_black_with_reversed ,
white_on_black_with_underline
white_on_black_with_underline ,
white_on_blue
white_on_blue ,
white_on_blue_with_blink
white_on_blue_with_blink ,
white_on_blue_with_bold
white_on_blue_with_bold ,
white_on_blue_with_default
white_on_blue_with_default ,
white_on_blue_with_hide
white_on_blue_with_hide ,
white_on_blue_with_italic
white_on_blue_with_italic ,
white_on_blue_with_reversed
white_on_blue_with_reversed ,
white_on_blue_with_underline
white_on_blue_with_underline ,
white_on_cyan
white_on_cyan ,
white_on_cyan_with_blink
white_on_cyan_with_blink ,
white_on_cyan_with_bold
white_on_cyan_with_bold ,
white_on_cyan_with_default
white_on_cyan_with_default ,
white_on_cyan_with_hide
white_on_cyan_with_hide ,
white_on_cyan_with_italic
white_on_cyan_with_italic ,
white_on_cyan_with_reversed
white_on_cyan_with_reversed ,
white_on_cyan_with_underline
white_on_cyan_with_underline ,
white_on_green
white_on_green ,
white_on_green_with_blink
white_on_green_with_blink ,
white_on_green_with_bold
white_on_green_with_bold ,
white_on_green_with_default
white_on_green_with_default ,
white_on_green_with_hide
white_on_green_with_hide ,
white_on_green_with_italic
white_on_green_with_italic ,
white_on_green_with_reversed
white_on_green_with_reversed ,
white_on_green_with_underline
white_on_green_with_underline ,
white_on_magenta
white_on_magenta ,
white_on_magenta_with_blink
white_on_magenta_with_blink ,
white_on_magenta_with_bold
white_on_magenta_with_bold ,
white_on_magenta_with_default
white_on_magenta_with_default ,
white_on_magenta_with_hide
white_on_magenta_with_hide ,
white_on_magenta_with_italic
white_on_magenta_with_italic ,
white_on_magenta_with_reversed
white_on_magenta_with_reversed ,
white_on_magenta_with_underline
white_on_magenta_with_underline ,
white_on_red
white_on_red ,
white_on_red_with_blink
white_on_red_with_blink ,
white_on_red_with_bold
white_on_red_with_bold ,
white_on_red_with_default
white_on_red_with_default ,
white_on_red_with_hide
white_on_red_with_hide ,
white_on_red_with_italic
white_on_red_with_italic ,
white_on_red_with_reversed
white_on_red_with_reversed ,
white_on_red_with_underline
white_on_red_with_underline ,
white_on_white
white_on_white ,
white_on_white_with_blink
white_on_white_with_blink ,
white_on_white_with_bold
white_on_white_with_bold ,
white_on_white_with_default
white_on_white_with_default ,
white_on_white_with_hide
white_on_white_with_hide ,
white_on_white_with_italic
white_on_white_with_italic ,
white_on_white_with_reversed
white_on_white_with_reversed ,
white_on_white_with_underline
white_on_white_with_underline ,
white_on_yellow
white_on_yellow ,
white_on_yellow_with_blink
white_on_yellow_with_blink ,
white_on_yellow_with_bold
white_on_yellow_with_bold ,
white_on_yellow_with_default
white_on_yellow_with_default ,
white_on_yellow_with_hide
white_on_yellow_with_hide ,
white_on_yellow_with_italic
white_on_yellow_with_italic ,
white_on_yellow_with_reversed
white_on_yellow_with_reversed ,
white_on_yellow_with_underline
white_on_yellow_with_underline ,
white_with_blink
white_with_blink ,
white_with_bold
white_with_bold ,
white_with_default
white_with_default ,
white_with_hide
white_with_hide ,
white_with_italic
white_with_italic ,
white_with_reversed
white_with_reversed ,
white_with_underline
white_with_underline ,
yellow
yellow ,
yellow_on_black
yellow_on_black ,
yellow_on_black_with_blink
yellow_on_black_with_blink ,
yellow_on_black_with_bold
yellow_on_black_with_bold ,
yellow_on_black_with_default
yellow_on_black_with_default ,
yellow_on_black_with_hide
yellow_on_black_with_hide ,
yellow_on_black_with_italic
yellow_on_black_with_italic ,
yellow_on_black_with_reversed
yellow_on_black_with_reversed ,
yellow_on_black_with_underline
yellow_on_black_with_underline ,
yellow_on_blue
yellow_on_blue ,
yellow_on_blue_with_blink
yellow_on_blue_with_blink ,
yellow_on_blue_with_bold
yellow_on_blue_with_bold ,
yellow_on_blue_with_default
yellow_on_blue_with_default ,
yellow_on_blue_with_hide
yellow_on_blue_with_hide ,
yellow_on_blue_with_italic
yellow_on_blue_with_italic ,
yellow_on_blue_with_reversed
yellow_on_blue_with_reversed ,
yellow_on_blue_with_underline
yellow_on_blue_with_underline ,
yellow_on_cyan
yellow_on_cyan ,
yellow_on_cyan_with_blink
yellow_on_cyan_with_blink ,
yellow_on_cyan_with_bold
yellow_on_cyan_with_bold ,
yellow_on_cyan_with_default
yellow_on_cyan_with_default ,
yellow_on_cyan_with_hide
yellow_on_cyan_with_hide ,
yellow_on_cyan_with_italic
yellow_on_cyan_with_italic ,
yellow_on_cyan_with_reversed
yellow_on_cyan_with_reversed ,
yellow_on_cyan_with_underline
yellow_on_cyan_with_underline ,
yellow_on_green
yellow_on_green ,
yellow_on_green_with_blink
yellow_on_green_with_blink ,
yellow_on_green_with_bold
yellow_on_green_with_bold ,
yellow_on_green_with_default
yellow_on_green_with_default ,
yellow_on_green_with_hide
yellow_on_green_with_hide ,
yellow_on_green_with_italic
yellow_on_green_with_italic ,
yellow_on_green_with_reversed
yellow_on_green_with_reversed ,
yellow_on_green_with_underline
yellow_on_green_with_underline ,
yellow_on_magenta
yellow_on_magenta ,
yellow_on_magenta_with_blink
yellow_on_magenta_with_blink ,
yellow_on_magenta_with_bold
yellow_on_magenta_with_bold ,
yellow_on_magenta_with_default
yellow_on_magenta_with_default ,
yellow_on_magenta_with_hide
yellow_on_magenta_with_hide ,
yellow_on_magenta_with_italic
yellow_on_magenta_with_italic ,
yellow_on_magenta_with_reversed
yellow_on_magenta_with_reversed ,
yellow_on_magenta_with_underline
yellow_on_magenta_with_underline ,
yellow_on_red
yellow_on_red ,
yellow_on_red_with_blink
yellow_on_red_with_blink ,
yellow_on_red_with_bold
yellow_on_red_with_bold ,
yellow_on_red_with_default
yellow_on_red_with_default ,
yellow_on_red_with_hide
yellow_on_red_with_hide ,
yellow_on_red_with_italic
yellow_on_red_with_italic ,
yellow_on_red_with_reversed
yellow_on_red_with_reversed ,
yellow_on_red_with_underline
yellow_on_red_with_underline ,
yellow_on_white
yellow_on_white ,
yellow_on_white_with_blink
yellow_on_white_with_blink ,
yellow_on_white_with_bold
yellow_on_white_with_bold ,
yellow_on_white_with_default
yellow_on_white_with_default ,
yellow_on_white_with_hide
yellow_on_white_with_hide ,
yellow_on_white_with_italic
yellow_on_white_with_italic ,
yellow_on_white_with_reversed
yellow_on_white_with_reversed ,
yellow_on_white_with_underline
yellow_on_white_with_underline ,
yellow_on_yellow
yellow_on_yellow ,
yellow_on_yellow_with_blink
yellow_on_yellow_with_blink ,
yellow_on_yellow_with_bold
yellow_on_yellow_with_bold ,
yellow_on_yellow_with_default
yellow_on_yellow_with_default ,
yellow_on_yellow_with_hide
yellow_on_yellow_with_hide ,
yellow_on_yellow_with_italic
yellow_on_yellow_with_italic ,
yellow_on_yellow_with_reversed
yellow_on_yellow_with_reversed ,
yellow_on_yellow_with_underline
yellow_on_yellow_with_underline ,
yellow_with_blink
yellow_with_blink ,
yellow_with_bold
yellow_with_bold ,
yellow_with_default
yellow_with_default ,
yellow_with_hide
yellow_with_hide ,
yellow_with_italic
yellow_with_italic ,
yellow_with_reversed
yellow_with_reversed ,
yellow_with_underline
yellow_with_underline