Browse Source

Merge pull request #766 from project-fifo/utf8-tree

Utf8 tree
pull/767/head
Tristan Sloughter 9 years ago
parent
commit
c5825978a0
1 changed files with 16 additions and 10 deletions
  1. +16
    -10
      src/rebar_prv_deps_tree.erl

+ 16
- 10
src/rebar_prv_deps_tree.erl View File

@ -49,26 +49,32 @@ print_deps_tree(SrcDeps, Verbose, State) ->
ProjectAppNames = [{rebar_app_info:name(App)
,rebar_app_info:original_vsn(App)
,project} || App <- rebar_state:project_apps(State)],
io:setopts([{encoding, unicode}]),
case dict:find(root, D) of
{ok, Children} ->
print_children(-1, lists:keysort(1, Children++ProjectAppNames), D, Verbose);
print_children("", lists:keysort(1, Children++ProjectAppNames), D, Verbose);
error ->
print_children(-1, lists:keysort(1, ProjectAppNames), D, Verbose)
print_children("", lists:keysort(1, ProjectAppNames), D, Verbose)
end.
print_children(_, [], _, _) ->
ok;
print_children(Indent, [{Name, Vsn, Source} | Rest], Dict, Verbose) ->
[io:format("| ") || _ <- lists:seq(0, Indent, 2)],
io:format("|- "),
io:format("~s-~s (~s)~n", [Name, Vsn, type(Source, Verbose)]),
print_children(Prefix, [{Name, Vsn, Source} | Rest], Dict, Verbose) ->
Prefix1 = case Rest of
[] ->
io:format("~s└─ ", [Prefix]),
[Prefix, " "];
_ ->
io:format("~s├─ ", [Prefix]),
[Prefix, ""]
end,
io:format("~s~s (~s)~n", [Name, Vsn, type(Source, Verbose)]),
case dict:find(Name, Dict) of
{ok, Children} ->
print_children(Indent+2, lists:keysort(1, Children), Dict, Verbose),
print_children(Indent, Rest, Dict, Verbose);
print_children(Prefix1, lists:keysort(1, Children), Dict, Verbose),
print_children(Prefix, Rest, Dict, Verbose);
error ->
print_children(Indent, Rest, Dict, Verbose)
print_children(Prefix, Rest, Dict, Verbose)
end.
type(project, _) ->

Loading…
Cancel
Save