configurations and the like
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

57 lines
1.0 KiB

defmodule IExConfigInit do
def init do
user = System.get_env "USER"
hostname = case :inet.gethostname do
{:ok, s} -> s
_ -> "?"
end
dir = case Elixir.File.cwd do
{:ok, s} -> s
_ -> "?"
end
home = System.get_env "HOME"
dir = if home do
dir = case Regex.compile("^" <> home) do
{:ok, r} -> Regex.replace r, dir, "~"
_ -> dir
end
dir
else
dir
end
Application.put_env(:elixir, :ansi_enabled, true)
IEx.configure(
colors: [enabled: true],
default_prompt: [
# "\e[1A",
"\e[G", # ANSI CHA, move cursor to column 1
:bright,
:white,
"┌[",
:magenta,
(if user, do: user <> "@", else: ""),
"elixir-",
Elixir.System.version,
"@",
hostname,
" ",
:blue,
dir,
:white,
"]\n",
"└:",
:reset
] |> IO.ANSI.format |> IO.chardata_to_string
)
end
end
IExConfigInit.init