Packages
io_ansi_table
0.1.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/config.ex
defmodule IO.ANSI.Table.Config do
@moduledoc """
Defines functions to retrieve table config properties at **runtime**.
"""
Mix.Project.config[:config_path] |> Mix.Config.read! |> Mix.Config.persist
@external_resource Path.expand Mix.Project.config[:config_path]
@app Mix.Project.config[:app]
@default_margins Application.get_env(@app, :default_margins)
@max_width_range Application.get_env(@app, :max_width_range)
@upper_max_width @max_width_range.last
@doc """
Retrieves the headers of a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> Config.headers
[:unknown]
"""
@spec headers :: [any]
def headers do
Application.get_env(@app, :headers, [:unknown])
end
@doc """
Retrieves the key headers of a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> Config.key_headers
[]
"""
@spec key_headers :: [any]
def key_headers do
Application.get_env(@app, :key_headers, [])
end
@doc """
Retrieves the max column width of a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> Config.max_width
77
"""
@spec max_width :: non_neg_integer
def max_width do
Application.get_env(@app, :max_width, @upper_max_width)
end
@doc """
Retrieves the header fixes for a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> Config.header_fixes
%{}
"""
@spec header_fixes :: map
def header_fixes do
Application.get_env(@app, :header_fixes, %{})
end
@doc """
Retrieves the margins to leave around a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> Config.margins(nil)
[top: 1, bottom: 1, left: 2]
"""
@spec margins(Keyword.t | nil) :: Keyword.t
def margins(nil) do
margins Application.get_env(@app, :margins, [])
end
def margins(margins) do
Keyword.merge(@default_margins, margins)
end
end