Packages
io_ansi_table
0.2.1
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**.
"""
alias IO.ANSI.Table.Formatter
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
[:undefined]
"""
@spec headers :: [Formatter.collection_key]
def headers do
Application.get_env @app, :headers, [:undefined]
end
@doc """
Retrieves the key headers of a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> Config.key_headers
[]
"""
@spec key_headers :: [Formatter.collection_key]
def key_headers do
Application.get_env @app, :key_headers, []
end
@doc """
Retrieves the maximum column width of a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> Config.max_width
99
"""
@spec max_width :: Formatter.column_width
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 align attributes for a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> Config.align_attrs
%{}
"""
@spec align_attrs :: map
def align_attrs do
Application.get_env @app, :align_attrs, %{}
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