diff options
| author | Tristan Sloughter <t@crashfast.com> | 2016-02-16 11:51:17 -0600 | 
|---|---|---|
| committer | Tristan Sloughter <t@crashfast.com> | 2016-02-16 11:51:17 -0600 | 
| commit | 44ebce927f37f23ce71d6db155102e87a6fab65a (patch) | |
| tree | fe1d868a2c8f3c8c632901d81866b682ceaf385c /src | |
| parent | b8a590cf192181170d5fdab40652340917ba3905 (diff) | |
| parent | 4a5c8bc0e3c5c0ba062d92e44b4bb627ac9d8af5 (diff) | |
Merge pull request #902 from project-fifo/less-color
Less color
Diffstat (limited to 'src')
| -rw-r--r-- | src/rebar_log.erl | 27 | ||||
| -rw-r--r-- | src/rebar_relx.erl | 2 | 
2 files changed, 28 insertions, 1 deletions
| diff --git a/src/rebar_log.erl b/src/rebar_log.erl index 06cfa9c..9eb3da6 100644 --- a/src/rebar_log.erl +++ b/src/rebar_log.erl @@ -30,6 +30,7 @@           set_level/1,           error_level/0,           default_level/0, +         intensity/0,           log/3,           is_verbose/1]). @@ -37,11 +38,31 @@  -define(WARN_LEVEL,  1).  -define(INFO_LEVEL,  2).  -define(DEBUG_LEVEL, 3). +-define(DFLT_INTENSITY, low).  %% ===================================================================  %% Public API  %% =================================================================== +%% @doc Returns the color intensity, we first check the application envorinment +%% if that is not set we check the environment variable REBAR_COLOR. +intensity() -> +    case application:get_env(rebar, color_intensity) of +        undefined -> +            R = case os:getenv("REBAR_COLOR") of +                    "high" -> +                        high; +                    "low" -> +                        low; +                    _ -> +                        ?DFLT_INTENSITY +                end, +            application:set_env(rebar, color_intensity, R), +            R; +        {ok, Mode} -> +            Mode +    end. +  init(Caller, Verbosity) ->      Level = case valid_level(Verbosity) of                  ?ERROR_LEVEL -> error; @@ -49,12 +70,16 @@ init(Caller, Verbosity) ->                  ?INFO_LEVEL  -> info;                  ?DEBUG_LEVEL -> debug              end, -    Log = ec_cmd_log:new(Level, Caller), +    Intensity = intensity(), +    Log = ec_cmd_log:new(Level, Caller, Intensity),      application:set_env(rebar, log, Log).  set_level(Level) ->      ok = application:set_env(rebar, log_level, Level). +log(Level = error, Str, Args) -> +    {ok, LogState} = application:get_env(rebar, log), +    ec_cmd_log:Level(LogState, lists:flatten(cf:format("~!^~s~n", [Str])), Args);  log(Level, Str, Args) ->      {ok, LogState} = application:get_env(rebar, log),      ec_cmd_log:Level(LogState, Str++"~n", Args). diff --git a/src/rebar_relx.erl b/src/rebar_relx.erl index 5d29258..45e1c96 100644 --- a/src/rebar_relx.erl +++ b/src/rebar_relx.erl @@ -14,6 +14,8 @@  -spec do(atom(), string(), atom(), rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}.  do(Module, Command, Provider, State) -> +    %% We set the color mode for relx as a application env +    application:set_env(relx, color_intensity, rebar_log:intensity()),      Options = rebar_state:command_args(State),      DepsDir = rebar_dir:deps_dir(State),      ProjectAppDirs = lists:delete(".", ?DEFAULT_PROJECT_APP_DIRS), | 
