View Source IO.ANSI.Table.Style (IO ANSI Table v1.0.34)
Defines functions returning various aspects of the configured table styles.
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
into a table style.
E.g. green-alt
in: no tx -blt green-alt 11
.
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 sorted list of all style IDs.
Lists all the table styles alphabetically.
Returns a list of interpolated texts (for all styles) based on template
.
Converts a table style
into a switch argument.
Types
Functions
@spec 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]
iex> alias IO.ANSI.Table.Style
iex> Style.border_attr(:cyan_alt, :odd_row)
[:chartreuse_yellow, :chartreuse_yellow_background]
@spec 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: "│" , "│" , "│"
@spec 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)
["╚═", "═╩═", "═╝"]
@spec dash(t(), IO.ANSI.Table.LineType.t()) :: String.t() | nil
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
@spec 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
iex> alias IO.ANSI.Table.Style
iex> Style.filler_attr(:cyan_alt, :odd_row)
:chartreuse_yellow_background
Converts a switch argument
into a table style.
E.g. green-alt
in: no tx -blt green-alt 11
.
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
@spec 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]
@spec 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]]
@spec 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]
@spec styles() :: [t()]
Returns the sorted list of all style IDs.
Examples
iex> alias IO.ANSI.Table.Style
iex> length Style.styles
36
iex> alias IO.ANSI.Table.Style
iex> Enum.take Style.styles, 7
[:bare, :barish, :cyan, :cyan_alt, :cyan_border, :cyan_mult, :dark]
@spec table_styles() :: Keyword.t()
Lists all the table styles alphabetically.
Returns a list of interpolated texts (for all styles) based on template
.
Examples
iex> alias IO.ANSI.Table.Style
iex> Style.texts(" - `&style`&filler - ¬e\n") |> Enum.slice(16..18)
[" - `:green_border` - light green border\n",
" - `:green_border_padded` - light green border with extra padding\n",
" - `:green_border_unpadded` - light green border without padding\n"]
Interpolation placeholders
&style
- table style (e.g. ":light_alt")&arg
- table style switch arg (e.g. "light-alt")&filler
- padding after &style or &arg¬e
- table style note&rank
- table style rank (3 digits)
Converts a table style
into 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