IO.ANSI.Table.Style (IO ANSI Table v1.0.8) View Source
Defines functions returning the properties of the 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
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.
Returns a list of interpolated texts (for all styles) based on template
.
Converts a table style
into a switch argument.
Link to this section Types
Link to this section Functions
Specs
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]
Specs
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: "│" , "│" , "│"
Specs
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)
["╚═", "═╩═", "═╝"]
Specs
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
Specs
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
Specs
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
Specs
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]
Specs
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]]
Specs
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]
Specs
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]
Specs
table_styles() :: Keyword.t()
Specs
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"]
alias IO.ANSI.Table.Style
Style.texts(" - `&style`&filler - ¬e", &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¬e
- table style note&rank
- table style rank (3 digits)
Specs
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