Current section

Files

Jump to
io_ansi_table config config.exs
Raw

config/config.exs

# This file is responsible for configuring your application
# and its dependencies with the aid of the Mix.Config module.
use Mix.Config
# This configuration is loaded before any dependency and is restricted
# to this project. If another project depends on this project, this
# file won't be loaded nor affect the parent project. For this reason,
# if you want to provide default values for your application for
# 3rd-party users, it should be done in your "mix.exs" file.
# You can configure for your application as:
#
# config :io_ansi_table, key: :value
config :elixir, ansi_enabled: true # mix messages in colors
# Example to adjust table position (up to 3 ways):
#
# config :io_ansi_table, margins: [
# top: 1, # line(s) before table
# bottom: 1, # line(s) after table
# left: 2 # space(s) left of table
# ]
# Example of headers and key header to provide:
#
# config :io_ansi_table, headers: [
# "number", "created_at", "updated_at", "id", "title"
# ]
# config :io_ansi_table, key_header: "created_at"
config :io_ansi_table, ansi_enabled: true # table formatting in colors
config :io_ansi_table, default_margins: [ # default table position:
top: 0, # line(s) before table
bottom: 0, # line(s) after table
left: 0 # space(s) left of table
]
config :io_ansi_table, line_types: [
:top, :header, :separator, :data, :bottom
]
config :io_ansi_table, table_styles: %{
light: %{
note: "",
rank: 10,
borders: %{
# left inner right dash
top: {"┌─", "─┬─", "─┐", "─"},
header: {"│" , "│", "│", nil},
separator: {"├─", "─┼─", "─┤", "─"},
data: {"│" , "│", "│", nil},
bottom: {"└─", "─┴─", "─┘", "─"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: :light_white,
filler: :normal,
header: {
[:light_yellow, :underline], # key
:light_yellow # non key
},
data: {
:light_cyan, # key
:normal # non key
}
}
},
medium: %{
note: "",
rank: 20,
borders: %{
# left inner right dash
top: {"╔═", "═╤═", "═╗", "═"},
header: {"║", "│" , "║", nil},
separator: {"╟─", "─┼─", "─╢", "─"},
data: {"║" , "│" , "║", nil},
bottom: {"╚═", "═╧═", "═╝", "═"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: :light_yellow,
filler: :normal,
header: {
[:light_green, :underline], # key
:light_green # non key
},
data: {
:light_cyan, # key
:normal # non key
}
}
},
dark: %{
note: "",
rank: 30,
borders: %{
# left inner right dash
top: {"╔═", "═╦═", "═╗", "═"},
header: {"║" , "║" , "║", nil},
separator: {"╠═", "═╬═", "═╣", "═"},
data: {"║" , "║" , "║", nil},
bottom: {"╚═", "═╩═", "═╝", "═"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: :light_green,
filler: :normal,
header: {
[:light_white, :light_red_background], # key
:light_red # non key
},
data: {
:light_magenta, # key
:light_yellow # non key
}
}
},
cyan: %{
note: "light cyan background",
rank: 40,
borders: %{
# left inner right dash
top: {"╔═", "═╦═", "═╗", "═"},
header: {"║" , "║" , "║", nil},
separator: {"╠═", "═╬═", "═╣", "═"},
data: {"║" , "║" , "║", nil},
bottom: {"╚═", "═╩═", "═╝", "═"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: [:light_blue, :light_cyan_background],
filler: :light_cyan_background,
header: {
[:light_yellow, :light_red_background], # key
[:light_red, :light_cyan_background ] # non key
},
data: {
[:light_blue, :light_cyan_background], # key
[:black, :light_cyan_background ] # non key
}
}
},
yellow: %{
note: "light yellow background",
rank: 50,
borders: %{
# left inner right dash
top: {"╔═", "═╦═", "═╗", "═"},
header: {"║" , "║" , "║", nil},
separator: {"╠═", "═╬═", "═╣", "═"},
data: {"║" , "║" , "║", nil},
bottom: {"╚═", "═╩═", "═╝", "═"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: [:green, :light_yellow_background],
filler: :light_yellow_background,
header: {
[:light_white, :light_red_background ], # key
[:light_red, :light_yellow_background] # non key
},
data: {
[:light_blue, :light_yellow_background], # key
[:black, :light_yellow_background ] # non key
}
}
},
green: %{
note: "light green background",
rank: 60,
borders: %{
# left inner right dash
top: {"╔═", "═╦═", "═╗", "═"},
header: {"║" , "║" , "║", nil},
separator: {"╠═", "═╬═", "═╣", "═"},
data: {"║" , "║" , "║", nil},
bottom: {"╚═", "═╩═", "═╝", "═"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: [:light_yellow, :light_green_background],
filler: :light_green_background,
header: {
[:light_yellow, :light_red_background], # key
[:light_red, :light_green_background ] # non key
},
data: {
[:light_blue, :light_green_background], # key
[:black, :light_green_background ] # non key
}
}
},
CYAN: %{
note: "light cyan border",
rank: 70,
borders: %{
# left inner right dash
top: {"╔═", "═╦═", "═╗", "═"},
header: {"║" , "║" , "║", nil},
separator: {"╠═", "═╬═", "═╣", "═"},
data: {"║" , "║" , "║", nil},
bottom: {"╚═", "═╩═", "═╝", "═"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: [:light_cyan, :light_cyan_background],
filler: :normal,
header: {
[:light_white, :light_blue_background], # key
:light_green # non key
},
data: {
:light_yellow, # key
:normal # non key
}
}
},
YELLOW: %{
note: "light yellow border",
rank: 80,
borders: %{
# left inner right dash
top: {"╔═", "═╦═", "═╗", "═"},
header: {"║" , "║" , "║", nil},
separator: {"╠═", "═╬═", "═╣", "═"},
data: {"║" , "║" , "║", nil},
bottom: {"╚═", "═╩═", "═╝", "═"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: [:light_yellow, :light_yellow_background],
filler: :normal,
header: {
[:light_white, :light_blue_background], # key
:light_green # non key
},
data: {
:light_yellow, # key
:normal # non key
}
}
},
GREEN: %{
note: "light green border",
rank: 90,
borders: %{
# left inner right dash
top: {"╔═", "═╦═", "═╗", "═"},
header: {"║" , "║" , "║", nil},
separator: {"╠═", "═╬═", "═╣", "═"},
data: {"║" , "║" , "║", nil},
bottom: {"╚═", "═╩═", "═╝", "═"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: [:light_green, :light_green_background],
filler: :normal,
header: {
[:light_cyan, :reverse], # key
:light_cyan # non key
},
data: {
:light_green, # key
:normal # non key
}
}
},
mixed: %{
note: "fillers revealed",
rank: 100,
borders: %{
# left inner right dash
top: {"╔═", "═╦═", "═╗", "═"},
header: {"║" , "║" , "║", nil},
separator: {"╠═", "═╬═", "═╣", "═"},
data: {"║" , "║" , "║", nil},
bottom: {"╚═", "═╩═", "═╝", "═"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: [:black, :light_yellow_background],
filler: :light_green_background,
header: {
[:light_red, :reverse, :light_yellow_background], # key
[:light_magenta, :light_white_background ] # non key
},
data: {
[:light_blue, :light_yellow_background ], # key
[:light_black, :light_yellow_background] # non key
}
}
},
dotted: %{
note: "slightly colored",
rank: 110,
borders: %{
# left inner right dash
top: {"┏╍", "╍┳╍", "╍┓", "╍"},
header: {"┇" , "┇" , "┇", nil},
separator: {"┣╍", "╍╋╍", "╍┫", "╍"},
data: {"┇" , "┇" , "┇", nil},
bottom: {"┗╍", "╍┻╍", "╍┛", "╍"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: :normal,
filler: :normal,
header: {
[:blue, :light_yellow_background], # key
:normal # non key
},
data: {
:light_yellow, # key
:normal # non key
}
}
},
dashed: %{
note: "no colors",
rank: 120,
borders: %{
# left inner right dash
top: {"+-", "-+-", "-+", "-"},
header: {"|" , "|" , "|", nil},
separator: {"+-", "-+-", "-+", "-"},
data: {"|" , "|" , "|", nil},
bottom: {"+-", "-+-", "-+", "-"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: :normal,
filler: :normal,
header: {
:normal, # key
:normal # non key
},
data: {
:normal, # key
:normal # non key
}
}
},
plain: %{
note: "slightly colored",
rank: 130,
borders: %{
# left inner right dash
top: {"┌─", "─┬─", "─┐", "─"},
header: {"│" , "│" , "│", nil},
separator: {"├─", "─┼─", "─┤", "─"},
data: {"│" , "│" , "│", nil},
bottom: {"└─", "─┴─", "─┘", "─"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: :light_yellow,
filler: :normal,
header: {
[:light_yellow, :underline], # key
:light_yellow # non key
},
data: {
:light_yellow, # key
:normal # non key
}
}
},
test: %{
note: "no colors",
rank: 140,
borders: %{
# left inner right dash
top: {"┌─", "─┬─", "─┐", "─"},
header: {"│" , "│" , "│", nil},
separator: {"├─", "─┼─", "─┤", "─"},
data: {"│" , "│" , "│", nil},
bottom: {"└─", "─┴─", "─┘", "─"}
},
border_widths: %{
# left inner right
top: {[2, 0], [0, 3, 0], [0, 2]},
header: {[1, 1], [1, 1, 1], [1, 1]},
separator: {[2, 0], [0, 3, 0], [0, 2]},
data: {[1, 1], [1, 1, 1], [1, 1]},
bottom: {[2, 0], [0, 3, 0], [0, 2]}
},
attrs: %{
border: :normal,
filler: :normal,
header: {
:normal, # key
:normal # non key
},
data: {
:normal, # key
:normal # non key
}
}
},
bare: %{
note: "no colors",
rank: 150,
borders: %{
# left inner right dash
top: {"", "" , "", "" },
header: {"", "|" , "", nil},
separator: {"", "-+-", "", "-"},
data: {"", "|" , "", nil},
bottom: {"", "" , "", "" }
},
border_widths: %{
# left inner right
top: {[0, 0], [0, 0, 0], [0, 0]},
header: {[0, 0], [1, 1, 1], [0, 0]},
separator: {[0, 0], [0, 3, 0], [0, 0]},
data: {[0, 0], [1, 1, 1], [0, 0]},
bottom: {[0, 0], [0, 0, 0], [0, 0]}
},
attrs: %{
border: :normal,
filler: :normal,
header: {
:normal, # key
:normal # non key
},
data: {
:normal, # key
:normal # non key
}
}
},
barish: %{
note: "like bare but colored",
rank: 160,
borders: %{
# left inner right dash
top: {"", "" , "", "" },
header: {"", "|" , "", nil},
separator: {"", "-+-", "", "-"},
data: {"", "|" , "", nil},
bottom: {"", "" , "", "" }
},
border_widths: %{
# left inner right
top: {[0, 0], [0, 0, 0], [0, 0]},
header: {[0, 0], [1, 1, 1], [0, 0]},
separator: {[0, 0], [0, 3, 0], [0, 0]},
data: {[0, 0], [1, 1, 1], [0, 0]},
bottom: {[0, 0], [0, 0, 0], [0, 0]}
},
attrs: %{
border: :light_yellow,
filler: :normal,
header: {
:light_green, # key
:normal # non key
},
data: {
:light_cyan, # key
:normal # non key
}
}
}
}
#
# And access this configuration in your application as:
#
# Application.get_env(:io_ansi_table, :key)
#
# Or configure a 3rd-party app:
#
# config :logger, level: :info
#
# It is also possible to import configuration files, relative to this
# directory. For example, you can emulate configuration per environment
# by uncommenting the line below and defining dev.exs, test.exs and such.
# Configuration from the imported file will override the ones defined
# here (which is why it is important to import them last).
#
# import_config "#{Mix.env}.exs"