Skip to content

Commit

Permalink
add verbosity config option, output only errors unless set
Browse files Browse the repository at this point in the history
`elvis_utils:print_info` will be suppressed when verbose is _not_ set.

Signed-off-by: Stephan Renatus <srenatus@chef.io>
  • Loading branch information
srenatus committed Jun 6, 2017
1 parent a4b1048 commit a65b524
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 10 deletions.
18 changes: 10 additions & 8 deletions src/elvis_result.erl
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
-module(elvis_result).

-compile({no_auto_import, [error/2]}).

%% API
-export([
new/3,
Expand Down Expand Up @@ -112,22 +114,22 @@ print([Result | Results]) ->
%% File
print(#{file := File, rules := Rules}) ->
Path = elvis_file:path(File),
Status = case status(Rules) of
ok -> "{{green-bold}}OK";
fail -> "{{red-bold}}FAIL"
end,

elvis_utils:notice("# ~s [~s{{white-bold}}]", [Path, Status]),
case status(Rules) of
ok ->
elvis_utils:notice("# ~s [{{green-bold}}OK{{white-bold}}]", [Path]);
fail ->
elvis_utils:error("# ~s [{{red-bold}}FAIL{{white-bold}}]", [Path])
end,
print(Rules);
%% Rule
print(#{items := []}) ->
ok;
print(#{name := Name, items := Items}) ->
elvis_utils:notice(" - ~s", [atom_to_list(Name)]),
elvis_utils:error(" - ~s", [atom_to_list(Name)]),
print(Items);
%% Item
print(#{message := Msg, info := Info}) ->
elvis_utils:notice(" - " ++ Msg, Info);
elvis_utils:error(" - " ++ Msg, Info);
%% Error
print(#{error_msg := Msg, info := Info}) ->
elvis_utils:error_prn(Msg, Info).
Expand Down
23 changes: 21 additions & 2 deletions src/elvis_utils.erl
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
-module(elvis_utils).

-compile({no_auto_import, [error/2]}).

-export([
%% Rules
check_lines/3,
Expand All @@ -16,6 +18,8 @@
info/2,
notice/1,
notice/2,
error/1,
error/2,
error_prn/1,
error_prn/2,
parse_colors/1
Expand Down Expand Up @@ -129,7 +133,7 @@ info(Message) ->
-spec info(string(), [term()]) -> ok.
info(Message, Args) ->
ColoredMessage = Message ++ "{{reset}}~n",
print(ColoredMessage, Args).
print_info(ColoredMessage, Args).

-spec notice(string()) -> ok.
notice(Message) ->
Expand All @@ -138,8 +142,16 @@ notice(Message) ->
-spec notice(string(), [term()]) -> ok.
notice(Message, Args) ->
ColoredMessage = "{{white-bold}}" ++ Message ++ "{{reset}}~n",
print(ColoredMessage, Args).
print_info(ColoredMessage, Args).

-spec error(string()) -> ok.
error(Message) ->
error(Message, []).

-spec error(string(), [term()]) -> ok.
error(Message, Args) ->
ColoredMessage = "{{white-bold}}" ++ Message ++ "{{reset}}~n",
print(ColoredMessage, Args).

-spec error_prn(string()) -> ok.
error_prn(Message) ->
Expand All @@ -150,6 +162,13 @@ error_prn(Message, Args) ->
ColoredMessage = "{{red}}Error: {{reset}}" ++ Message ++ "{{reset}}~n",
print(ColoredMessage, Args).

-spec print_info(string(), [term()]) -> ok.
print_info(Message, Args) ->
case application:get_env(elvis, verbose) of
{ok, true} -> print(Message, Args);
_ -> ok
end.

-spec print(string(), [term()]) -> ok.
print(Message, Args) ->
case application:get_env(elvis, no_output) of
Expand Down

0 comments on commit a65b524

Please sign in to comment.