diff options
-rw-r--r-- | src/rebar_prv_new.erl | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/rebar_prv_new.erl b/src/rebar_prv_new.erl index 77e100f..58e27fd 100644 --- a/src/rebar_prv_new.erl +++ b/src/rebar_prv_new.erl @@ -33,15 +33,24 @@ init(State) -> -spec do(rebar_state:t()) -> {ok, rebar_state:t()} | {error, string()}. do(State) -> case rebar_state:command_args(State) of + ["help"] -> + ?CONSOLE("Call `rebar3 new help <template>` for a detailed description~n", []), + show_short_templates(rebar_templater:list_templates(State)), + {ok, State}; ["help", TemplateName] -> case lists:keyfind(TemplateName, 1, rebar_templater:list_templates(State)) of - false -> io:format("template not found.~n"); + false -> ?CONSOLE("template not found.", []); Term -> show_template(Term) end, {ok, State}; [TemplateName | Opts] -> - Force = is_forced(State), - ok = rebar_templater:new(TemplateName, parse_opts(Opts), Force, State), + case lists:keyfind(TemplateName, 1, rebar_templater:list_templates(State)) of + false -> + ?CONSOLE("template not found.", []); + _ -> + Force = is_forced(State), + ok = rebar_templater:new(TemplateName, parse_opts(Opts), Force, State) + end, {ok, State}; [] -> show_short_templates(rebar_templater:list_templates(State)), |