Current section

Files

Jump to
git_hooks lib printer printer.ex
Raw

lib/printer/printer.ex

defmodule GitHooks.Printer do
@moduledoc false
@type message :: String.t()
@spec info(any, message, keyword) :: any
def info(return_this, message, opts \\ []) do
case Keyword.has_key?(opts, :append_first_arg) do
true when is_binary(return_this) ->
info(message <> return_this)
true ->
info(message <> inspect(return_this))
false ->
info(message)
end
return_this
end
@spec info(message) :: :ok
def info(message) do
IO.puts([IO.ANSI.blue(), 0x2197, " ", message])
IO.write(IO.ANSI.default_color())
end
@spec warn(message) :: :ok
def warn(message) do
IO.puts([IO.ANSI.yellow(), 0x26A0, " ", message])
IO.write(IO.ANSI.default_color())
end
@spec success(message) :: :ok
def success(message) do
IO.puts([IO.ANSI.green(), 0x2714, " ", message])
IO.write(IO.ANSI.default_color())
end
@spec error(message) :: :ok
def error(message) do
IO.puts([IO.ANSI.red(), 0xD7, " ", message])
IO.write(IO.ANSI.default_color())
end
end