Packages
io_ansi_table
0.1.2
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)
@doc """
Retrieves the headers of a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> # config :io_ansi_table, headers: ["number", "created_at"]
iex> # Config.headers # => ["number", "created_at"]
iex> Config.headers
[]
"""
def headers do
Application.get_env(@app, :headers, [])
end
@doc """
Retrieves the key header of a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> # config :io_ansi_table, key_header: "created_at"
iex> # Config.key_header # => "created_at"
iex> Config.key_header
nil
"""
def key_header do
Application.get_env(@app, :key_header)
end
@doc ~S"""
Retrieves the top margin to leave above a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> # config :io_ansi_table, margins: [top: 4]
iex> # Config.margin_top # => "\n\n\n\n"
iex> Config.margin_top
""
"""
@spec margin_top :: String.t
def margin_top do
margins = Application.get_env(@app, :margins, [])
String.duplicate "\n", Keyword.merge(@default_margins, margins)[:top]
end
@doc ~S"""
Retrieves the bottom margin to leave under a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> # config :io_ansi_table, margins: [bottom: 3]
iex> # Config.margin_bottom # => "\n\n\n"
iex> Config.margin_bottom
""
"""
@spec margin_bottom :: String.t
def margin_bottom do
margins = Application.get_env(@app, :margins, [])
String.duplicate "\n", Keyword.merge(@default_margins, margins)[:bottom]
end
@doc ~S"""
Retrieves the left margin to leave left of a table.
## Examples
iex> alias IO.ANSI.Table.Config
iex> # config :io_ansi_table, margins: [left: 2]
iex> # Config.margin_left # => "\s\s"
iex> Config.margin_left
""
"""
@spec margin_left :: String.t
def margin_left do
margins = Application.get_env(@app, :margins, [])
String.duplicate "\s", Keyword.merge(@default_margins, margins)[:left]
end
end