Packages
io_ansi_table
1.0.21
1.0.40
1.0.39
1.0.38
1.0.37
1.0.36
1.0.34
1.0.33
1.0.32
1.0.31
1.0.30
1.0.29
1.0.28
1.0.27
1.0.26
1.0.25
1.0.24
1.0.23
1.0.22
1.0.21
1.0.20
1.0.19
1.0.18
1.0.17
1.0.16
1.0.15
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.4.32
0.4.31
0.4.30
0.4.29
0.4.28
0.4.27
0.4.26
0.4.25
0.4.24
0.4.23
0.4.22
0.4.21
0.4.20
0.4.19
0.4.18
0.4.17
0.4.16
0.4.15
0.4.14
0.4.13
0.4.12
0.4.11
0.4.10
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.29
0.3.28
0.3.27
0.3.26
0.3.25
0.3.24
0.3.23
0.3.22
0.3.21
0.3.20
0.3.19
0.3.18
0.3.17
0.3.16
0.3.15
0.3.14
0.3.13
0.3.12
0.3.11
0.3.10
0.3.9
0.3.8
0.3.7
0.3.6
0.3.5
0.3.4
0.3.3
0.3.2
0.3.1
0.3.0
0.2.5
0.2.4
0.2.3
0.2.2
0.2.1
0.2.0
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Writes data to "stdio" in a table with borders and colors. Can choose a table style to change the look of the table.
Current section
Files
Jump to
Current section
Files
lib/io/ansi/table/options.ex
defmodule IO.ANSI.Table.Options do
alias IO.ANSI.Table.Style
@moduledoc """
Documents the options and table styles used in the `IO.ANSI.Table` API.
## Options
* `:align_specs` - to align column elements (list of
[align specs](`t:IO.ANSI.Table.Header.align_spec/0`) where `:left` is the
default [align attribute](`t:IO.ANSI.Table.Header.align_attr/0`)).
Defaults to `[]`.
```elixir
align_specs: [
center: "station_id", right: "pressure_mb", right: "pressure_in"
]
```
```elixir
align_specs: [left: "station_id", right: "wind_mph"]
```
```elixir
align_specs: ["station_id", right: "wind_mph"]
```
* `:async` - whether to format the table asynchronously (boolean).
Defaults to `false`.
* `:bell` - whether to ring the bell (boolean). Defaults to `false`.
* `:count` - number of [maps/keywords/structs](`t:Access.container/0`)
to format (integer). Defaults to `11`.
```elixir
count: 11 # first 11 sorted `maps`
```
```elixir
count: -11 # last 11 sorted `maps`
```
* `:header_fixes` - to alter the [headers](`t:IO.ANSI.Table.Header.t/0`)
once changed to "title case" (map). Defaults to %{}.
```elixir
header_fixes: %{
# "station_id" => "Station ID"
~r[ id$]i => " ID",
# "wind_mph" => "Wind MPH"
~r[ mph$]i => " MPH",
# "observation_time_rfc822" => "Observation Time RFC-822"
~r[ rfc(\\d+)$]i => " RFC-\\\\1"
}
```
```elixir
header_fixes: %{
" A " => " a ",
" An " => " an ",
" And " => " and ",
" At " => " at ",
" But " => " but ",
" By " => " by ",
" For " => " for ",
" Not " => " not ",
" Of " => " of ",
" On " => " on ",
" Or " => " or ",
" So " => " so ",
" The " => " the ",
" To " => " to ",
" Yet " => " yet "
}
```
* `:margins` - to position the table (keyword). Defaults to
`[top: 1, bottom: 1, left: 2]`
```elixir
margins: [ # default margins
top: 1, # line(s) before table (can be negative)
bottom: 1, # line(s) after table
left: 2 # column(s) left of table
]
```
```elixir
margins: [ # example of a side-by-side table
top: -11, # move cursor up 11 lines!!
bottom: 1,
left: 35, # move cursor forward 35 columns!!
]
```
* `:max_width` - to cap column widths (non neg integer). Defaults to `99`.
* `:sort_specs` - to sort the [maps/keywords/structs](`t:Access.container/0`)
(list of [sort specs](`t:IO.ANSI.Table.Header.sort_spec/0`) where `:asc` is
the default [sort attribute](`t:IO.ANSI.Table.Header.sort_attr/0`)).
Defaults to `[]`.
```elixir
sort_specs: ["station_id", "wind_mph"]
```
```elixir
sort_specs: ["station_id", desc: "wind_mph", desc: "temp_c"]
```
```elixir
sort_specs: [asc: "station_id", desc: "wind_mph"]
```
```elixir
sort_specs: ["dept", desc: {"hired", Date}]
```
```elixir
sort_specs: [{"hired", Date}, "job", {:desc, "dept"}]
```
```elixir
sort_specs: [{"hired", Date}, desc: "dept"]
```
* `:sort_symbols` - to denote sort direction (keyword list of
[sort symbols](`t:IO.ANSI.Table.Header.sort_symbol/0`)). Defaults to
`[asc: "↑", desc: "↓", pos: :trailing]`.
```elixir
sort_symbols: [asc: "↑", desc: "↓", pos: :trailing] # default sort symbols
```
```elixir
sort_symbols: [asc: " ▲ ", desc: " ▼ ", pos: [:leading, :trailing]]
```
```elixir
sort_symbols: [asc: "⬆", desc: "⬇", pos: :leading]
```
* `:spec_name` - to identify the table spec server (string). Defaults to the
current application name expressed as a string.
* `:style` - table style (atom). Defaults to `:plain`.
```elixir
style: :plain # default style
```
```elixir
style: :dark
```
## Table styles
#{Style.texts(" - `&style`&filler - ¬e\n")}
"""
end