-module(gurka_formatter_compact). -include("gurka.hrl"). -export([format/2]). format({Status, Result}, Opts) -> case proplists:get_value(file, Opts) of undefined -> format_steps(Result); File when Status == ok -> io_lib:format("\e[1;32m~s ~s\e[0m~n", ["PASS", File]) ++ format_steps(Result); File -> io_lib:format("\e[1;31m~s ~s\e[0m~n", ["FAIL", File]) ++ format_steps(Result) end. format_steps([]) -> []; format_steps([Step | Steps]) when is_list(Step) -> format_steps(Step) ++ format_steps(Steps); format_steps([{ok, _} | Steps]) -> format_steps(Steps); format_steps([{Result, #step{row = Row}} | Steps]) -> io_lib:format("\e[0;31m~B: ~p\e[0m~n", [Row, Result]) ++ format_steps(Steps).