Packages
io_ansi_table
0.1.5
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
io_ansi_table
README.md
README.md
# IO ANSI Table
Prints data to STDOUT in a table with borders and colors.
Can choose a table style among the 25 predefined ones.
## Using
To use `IO ANSI Table` in your Mix projects, first add it as a dependency:
```elixir
def deps do
[{:io_ansi_table, "~> 0.1", app: false}]
end
```
After adding `IO ANSI Table` as a dependency, run `mix deps.get` to install it.
Then in your `config/config.exs` file, configure table headers and key headers.
Here is an example, if your table relates to GitHub Issues:
```elixir
config :io_ansi_table, headers: [
"number", "created_at", "updated_at", "id", "title"
]
config :io_ansi_table, header_terms: [" at", "ID"]
config :io_ansi_table, key_headers: ["created_at"]
```
You can also position the table by specifying up to 3 margins:
```elixir
config :io_ansi_table, margins: [
top: 1, # line(s) before table
bottom: 1, # line(s) after table
left: 2 # space(s) left of table
]
```
The above margins represent the default table position.
## Example
```elixir
config :io_ansi_table, headers: [:name, :date_of_birth, :likes]
config :io_ansi_table, header_terms: [" of "]
config :io_ansi_table, key_headers: [:date_of_birth]
config :io_ansi_table, margins: [
top: 2, # line(s) before table
bottom: 2, # line(s) after table
left: 2 # space(s) left of table
]
```
```elixir
alias IO.ANSI.Table.Formatter
people = [
%{name: "Mike", likes: "ski, arts", date_of_birth: "1992-04-15"},
%{name: "Mary", likes: "reading" , date_of_birth: "1985-07-11"},
%{name: "Ray" , likes: "cycling" , date_of_birth: "1977-08-28"}
]
Formatter.print_table(people, 3, true, :dark)
```
## 
N.B. If you are on Windows, run command `chcp 65001` for the UTF-8 code page.
## Customization
You can create new table styles or modify any of the 25 predefined ones
by changing the dependency's `config/config.exs` file. You would then need to
run `mix deps.compile io_ansi_table [--force]` to make the changes effective.
## Current version
The current version now supports:
- multiple key headers
- alternating row attributes