Packages
io_ansi_table
0.4.13
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
@moduledoc """
Documents the `IO.ANSI.Table.Options` using configuration examples.
## Notes
You can configure `:async` which is a compile time option. Therefore
changing this option requires to recompile the `:io_ansi_table` app.
When `true` the table will print asynchronously. Defaults to `false`.
If option `sort_specs` (see below) specifies structs like `%Date{}`
or `%Time{}`, you must provide the following configuration and then
recompile the `:map_sorter` dependency used by `:io_ansi_table`:
- `config :map_sorter, sorting_on_structs?: true`
- `mix deps.compile map_sorter`
## Examples
- `align_specs` - to align column elements (list of attribute/header pairs
where the attribute is `:left`, `:center` or `:right` and
where `:left` is the default attribute)
```elixir
config :io_ansi_table, align_specs: [
center: "station_id", right: "pressure_mb", right: "pressure_in"
]
```
```elixir
config :io_ansi_table, align_specs: [
left: "station_id", right: "wind_mph"
]
```
```elixir
config :io_ansi_table, align_specs: [
"station_id", right: "wind_mph"
]
```
- `bell` - ring the bell? (boolean)
```elixir
config :io_ansi_table, bell: true
```
```elixir
config :io_ansi_table, bell: false
```
- `count` - number of maps/keywords/structs to format (integer)
```elixir
config :io_ansi_table, count: 11 # default count
```
```elixir
config :io_ansi_table, count: -11
```
- `headers` - to identify each column (list of map/keyword/struct keys)
```elixir
config :io_ansi_table, headers: [
"station_id", "observation_time_rfc822", "wind_mph"
]
```
- `header_fixes` - to alter the `headers` (map)
```elixir
config :io_ansi_table, header_fixes: %{ # merged with default header fixes
~r[ id$]i => " ID",
~r[ mph$]i => " MPH",
~r[ rfc(...)$]i => " RFC-\\\\1"
}
```
```elixir
config :io_ansi_table, header_fixes: %{ # default header fixes
" A " => " a ",
" After " => " after ",
" Along " => " along ",
" An " => " an ",
" And " => " and ",
" Around " => " around ",
" At " => " at ",
" But " => " but ",
" By " => " by ",
" For " => " for ",
" From " => " from ",
" Not " => " not ",
" Of " => " of ",
" On " => " on ",
" Or " => " or ",
" So " => " so ",
" The " => " the ",
" To " => " to ",
" With " => " with ",
" Without " => " without ",
" Yet " => " yet "
}
```
- `margins` - to position the table (keyword)
```elixir
config :io_ansi_table, margins: [ # merged with default margins
left: 3 # column(s) left of table
]
```
```elixir
config :io_ansi_table, 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
config :io_ansi_table, margins: [ # example for side-by-side tables
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)
```elixir
config :io_ansi_table, max_width: 99 # default max width
```
- `sort_specs` - to sort the maps/keywords/structs (list of attribute/header
pairs where the attribute is either `:asc` or `:desc` and
where `:asc` is the default attribute)
```elixir
config :io_ansi_table, sort_specs: [
"station_id", "wind_mph"
]
```
```elixir
config :io_ansi_table, sort_specs: [
"station_id", desc: "wind_mph", desc: "temp_c"
]
```
```elixir
config :io_ansi_table, sort_specs: [
asc: "station_id", desc: "wind_mph"
]
```
- `sort_symbols` - to denote sort direction (keyword)
```elixir
config :io_ansi_table, sort_symbols: [ # merged with default sort symbols
asc: "^", pos: [:leading, :trailing]
]
```
```elixir
config :io_ansi_table, sort_symbols: [ # default sort symbols
asc: "↑", desc: "↓", pos: :trailing
]
```
```elixir
config :io_ansi_table, sort_symbols: [
asc: "▲", desc: "▼", pos: :trailing
]
```
```
config :io_ansi_table, sort_symbols: [
asc: "^", desc: "v", pos: :leading
]
```
- `style` - table style (atom)
```elixir
config :io_ansi_table, style: :plain # default style
```
```elixir
config :io_ansi_table, style: :dark
```
"""
end