bunt.ex (643B)
1 defmodule Bunt do 2 use Application 3 4 alias Bunt.ANSI 5 6 @version Mix.Project.config()[:version] 7 8 def puts(value \\ "") do 9 value 10 |> format 11 |> IO.puts() 12 end 13 14 def warn(value \\ "") do 15 formatted_value = format(value) 16 IO.puts(:stderr, formatted_value) 17 end 18 19 def write(value \\ "") do 20 value 21 |> format 22 |> IO.write() 23 end 24 25 def format, do: format("") 26 def format(nil), do: format("") 27 def format(text) when is_binary(text), do: text 28 29 def format(list) when is_list(list) do 30 list 31 |> List.flatten() 32 |> ANSI.format() 33 end 34 35 def start(_, _), do: {:ok, self()} 36 37 def version, do: @version 38 end