IO ANSI Table v0.4.19 IO.ANSI.Table.Style View Source

Defines functions returning the properties of configured table styles.

Link to this section Summary

Functions

Returns the border attribute of a given table style and line type

Returns the border spreads of a given table style and line type

Returns the borders of a given table style and line type

Returns the dash of a given table style and line type

Returns the filler attribute of a given table style and line type

Converts a switch argument to a table style

Returns the key attribute of a given table style and line type

Returns the line types of a given table style

Returns the non key attribute of a given table style and line type

Returns the list of all table styles

Returns a list of interpolated texts (one per table style) and optionally passes each one to a function

Converts a table style to a switch argument

Link to this section Types

Link to this section Functions

Link to this function border_attr(style, type) View Source
border_attr(t(), IO.ANSI.Table.LineType.t()) :: attr() | nil

Returns the border attribute of a given table style and line type.

Examples

iex> alias IO.ANSI.Table.Style
iex> Style.border_attr(:green, :top)
[:light_white, :green_background]
Link to this function border_spreads(style, type) View Source
border_spreads(t(), IO.ANSI.Table.LineType.t()) ::
  [IO.ANSI.Table.Column.spread()] | []

Returns the border spreads of a given table style and line type.

Examples

iex> alias IO.ANSI.Table.Style
iex> Style.border_spreads(:plain, :bottom)
[[0, 2, 0], [0, 3, 0], [0, 2, 0]] # borders: "└─", "─┴─", "─┘"

iex> alias IO.ANSI.Table.Style
iex> Style.border_spreads(:plain, :header)
[[0, 1, 1], [1, 1, 1], [1, 1, 0]] # borders: "│" ,  "│" ,  "│"
Link to this function borders(style, type) View Source
borders(t(), IO.ANSI.Table.LineType.t()) :: [border()] | []

Returns the borders of a given table style and line type.

Examples

iex> alias IO.ANSI.Table.Style
iex> Style.borders(:cyan, :bottom)
["╚═", "═╩═", "═╝"]

Returns the dash of a given table style and line type.

Examples

iex> IO.ANSI.Table.Style
iex> Style.dash(:dark, :top)
"═"

iex> IO.ANSI.Table.Style
iex> Style.dash(:dark, :row)
nil
Link to this function filler_attr(style, type) View Source
filler_attr(t(), IO.ANSI.Table.LineType.t()) :: attr() | nil

Returns the filler attribute of a given table style and line type.

Examples

iex> alias IO.ANSI.Table.Style
iex> Style.filler_attr(:mixed, :row)
:green_background
Link to this function from_switch_arg(arg) View Source
from_switch_arg(String.t()) :: {:ok, t()} | :error

Converts a switch argument to a table style.

Examples

iex> alias IO.ANSI.Table.Style
iex> Style.from_switch_arg("green-alt")
{:ok, :green_alt}

iex> alias IO.ANSI.Table.Style
iex> Style.from_switch_arg("lite")
:error
Link to this function key_attr(style, type) View Source
key_attr(t(), IO.ANSI.Table.LineType.t()) :: attr() | nil

Returns the key attribute of a given table style and line type.

Examples

iex> alias IO.ANSI.Table.Style
iex> Style.key_attr(:light, :row)
:chartreuse

iex> alias IO.ANSI.Table.Style
iex> Style.key_attr(:light, :header)
[:gold, :underline]
Link to this function line_types(style) View Source
line_types(t()) :: [IO.ANSI.Table.LineType.t()] | []

Returns the line types of a given table style.

Examples

iex> alias IO.ANSI.Table.Style
iex> Style.line_types(:light)
[:top, :header, :separator, [:row], :bottom]

iex> alias IO.ANSI.Table.Style
iex> Style.line_types(:green_alt)
[:top, :header, :separator, [:even_row, :odd_row]]
Link to this function non_key_attr(style, type) View Source
non_key_attr(t(), IO.ANSI.Table.LineType.t()) :: attr() | nil

Returns the non key attribute of a given table style and line type.

Examples

iex> alias IO.ANSI.Table.Style
iex> Style.non_key_attr(:cyan, :row)
[:black, :cyan_background]
Link to this function styles() View Source
styles() :: [t()]

Returns the list of all table styles.

Examples

iex> alias IO.ANSI.Table.Style
iex> Style.styles() |> length()
36
Link to this function texts(template, fun \\ &(&1)) View Source
texts(String.t(), (String.t() -> any())) :: [any()]

Returns a list of interpolated texts (one per table style) and optionally passes each one to a function.

Examples

alias IO.ANSI.Table.Style
Style.texts("  - `&style`&filler - &note\n")

alias IO.ANSI.Table.Style
Style.texts("  - `&style`&filler - &note", &IO.puts/1)

Interpolation placeholders

  • &style - table style (e.g. “:light_alt”)
  • &arg - table style switch arg (e.g. “light-alt”)
  • &filler - padding after &style or &arg
  • &note - table style note
  • &rank - table style rank (3 digits)
Link to this function to_switch_arg(style) View Source
to_switch_arg(t()) :: String.t() | nil

Converts a table style to a switch argument.

Examples

iex> alias IO.ANSI.Table.Style
iex> Style.to_switch_arg(:green_alt)
"green-alt"

iex> alias IO.ANSI.Table.Style
iex> Style.to_switch_arg(:lite)
nil