Elixir v1.7.4 IO.ANSI View Source

Functionality to render ANSI escape sequences.

ANSI escape sequences are characters embedded in text used to control formatting, color, and other output options on video text terminals.

Link to this section Summary

Functions

Sets foreground color to black

Sets background color to black

Blink: off

Blink: rapid. MS-DOS ANSI.SYS; 150 per minute or more; not widely supported

Blink: slow. Less than 150 per minute

Sets foreground color to blue

Sets background color to blue

Bright (increased intensity) or bold

Clears screen

Clears line

Sets foreground color

Sets the foreground color from individual RGB values

Sets background color

Sets the background color from individual RGB values

Conceal. Not widely supported

Crossed-out. Characters legible, but marked for deletion. Not widely supported

Sends cursor to the absolute position specified by line and column

Sends cursor lines down

Sends cursor columns to the left

Sends cursor columns to the right

Sends cursor lines up

Sets foreground color to cyan

Sets background color to cyan

Default background color

Default text color

Checks if ANSI coloring is supported and enabled on this machine

Encircled

Faint (decreased intensity). Not widely supported

Sets alternative font 1

Sets alternative font 2

Sets alternative font 3

Sets alternative font 4

Sets alternative font 5

Sets alternative font 6

Sets alternative font 7

Sets alternative font 8

Sets alternative font 9

Formats a chardata-like argument by converting named ANSI sequences into actual ANSI codes

Formats a chardata-like argument by converting named ANSI sequences into actual ANSI codes

Framed

Sets foreground color to green

Sets background color to green

Sends cursor home

Image: negative. Swap foreground and background

Image: positive. Normal foreground and background

Italic: on. Not widely supported. Sometimes treated as inverse

Sets foreground color to light black

Sets background color to light black

Sets foreground color to light blue

Sets background color to light blue

Sets foreground color to light cyan

Sets background color to light cyan

Sets foreground color to light green

Sets background color to light green

Sets foreground color to light magenta

Sets background color to light magenta

Sets foreground color to light red

Sets background color to light red

Sets foreground color to light white

Sets background color to light white

Sets foreground color to light yellow

Sets background color to light yellow

Sets foreground color to magenta

Sets background color to magenta

Underline: none

Normal color or intensity

Not framed or encircled

Not italic

Not overlined

Overlined

Sets primary (default) font

Sets foreground color to red

Sets background color to red

Resets all attributes

Image: negative. Swap foreground and background

Image: positive. Normal foreground and background

Underline: single

Sets foreground color to white

Sets background color to white

Sets foreground color to yellow

Sets background color to yellow

Link to this section Types

Link to this type ansicode() View Source
ansicode() :: atom()
Link to this type ansidata() View Source
ansidata() :: ansilist() | ansicode() | binary()

Link to this section Functions

Sets foreground color to black.

Sets background color to black.

Sets foreground color to blue.

Sets background color to blue.

Bright (increased intensity) or bold.

Clears line.

Link to this function color(code) View Source
color(0..255) :: String.t()

Sets foreground color.

Link to this function color(r, g, b) View Source
color(0..5, 0..5, 0..5) :: String.t()

Sets the foreground color from individual RGB values.

Valid values for each color are in the range 0 to 5.

Link to this function color_background(code) View Source
color_background(0..255) :: String.t()

Sets background color.

Link to this function color_background(r, g, b) View Source
color_background(0..5, 0..5, 0..5) :: String.t()

Sets the background color from individual RGB values.

Valid values for each color are in the range 0 to 5.

Conceal. Not widely supported.

Crossed-out. Characters legible, but marked for deletion. Not widely supported.

Sends cursor to the absolute position specified by line and column.

Line 0 and column 0 would mean the top left corner.

Link to this function cursor_down(lines \\ 1) View Source
cursor_down(pos_integer()) :: String.t()

Sends cursor lines down.

Link to this function cursor_left(columns \\ 1) View Source
cursor_left(pos_integer()) :: String.t()

Sends cursor columns to the left.

Link to this function cursor_right(columns \\ 1) View Source
cursor_right(pos_integer()) :: String.t()

Sends cursor columns to the right.

Link to this function cursor_up(lines \\ 1) View Source
cursor_up(pos_integer()) :: String.t()

Sends cursor lines up.

Sets foreground color to cyan.

Sets background color to cyan.

Default background color.

Default text color.

Checks if ANSI coloring is supported and enabled on this machine.

This function simply reads the configuration value for :ansi_enabled in the :elixir application. The value is by default false unless Elixir can detect during startup that both stdout and stderr are terminals.

Faint (decreased intensity). Not widely supported.

Sets alternative font 1.

Sets alternative font 2.

Sets alternative font 3.

Sets alternative font 4.

Sets alternative font 5.

Sets alternative font 6.

Sets alternative font 7.

Sets alternative font 8.

Sets alternative font 9.

Link to this function format(chardata, emit? \\ enabled?()) View Source

Formats a chardata-like argument by converting named ANSI sequences into actual ANSI codes.

The named sequences are represented by atoms.

It will also append an IO.ANSI.reset/0 to the chardata when a conversion is performed. If you don’t want this behaviour, use format_fragment/2.

An optional boolean parameter can be passed to enable or disable emitting actual ANSI codes. When false, no ANSI codes will emitted. By default checks if ANSI is enabled using the enabled?/0 function.

Examples

iex> IO.ANSI.format(["Hello, ", :red, :bright, "world!"], true)
[[[[[[], "Hello, "] | "\e[31m"] | "\e[1m"], "world!"] | "\e[0m"]
Link to this function format_fragment(chardata, emit? \\ enabled?()) View Source

Formats a chardata-like argument by converting named ANSI sequences into actual ANSI codes.

The named sequences are represented by atoms.

An optional boolean parameter can be passed to enable or disable emitting actual ANSI codes. When false, no ANSI codes will emitted. By default checks if ANSI is enabled using the enabled?/0 function.

Examples

iex> IO.ANSI.format_fragment([:bright, 'Word'], true)
[[[[[[] | "\e[1m"], 87], 111], 114], 100]

Sets foreground color to green.

Sets background color to green.

Sends cursor home.

Image: negative. Swap foreground and background.

Image: positive. Normal foreground and background.

Italic: on. Not widely supported. Sometimes treated as inverse.

Sets foreground color to light black.

Link to this function light_black_background() View Source

Sets background color to light black.

Sets foreground color to light blue.

Sets background color to light blue.

Sets foreground color to light cyan.

Sets background color to light cyan.

Sets foreground color to light green.

Link to this function light_green_background() View Source

Sets background color to light green.

Sets foreground color to light magenta.

Link to this function light_magenta_background() View Source

Sets background color to light magenta.

Sets foreground color to light red.

Sets background color to light red.

Sets foreground color to light white.

Link to this function light_white_background() View Source

Sets background color to light white.

Sets foreground color to light yellow.

Link to this function light_yellow_background() View Source

Sets background color to light yellow.

Sets foreground color to magenta.

Sets background color to magenta.

Underline: none.

Normal color or intensity.

Not framed or encircled.

Not italic.

Not overlined.

Sets primary (default) font.

Sets foreground color to red.

Sets background color to red.

Resets all attributes.

Image: negative. Swap foreground and background.

Image: positive. Normal foreground and background.

Underline: single.

Sets foreground color to white.

Sets background color to white.

Sets foreground color to yellow.

Sets background color to yellow.