diff options
| author | Baptiste Fontaine | 2015-05-23 16:07:10 +0200 |
|---|---|---|
| committer | Baptiste Fontaine | 2015-05-29 19:26:27 +0200 |
| commit | 9e6934d00c8cd8226e87c6fe639ec0a9b07ddd3b (patch) | |
| tree | da2b6dc8fe2eda31e7d2e7faaa9efdf6d1eb07cb /Library | |
| parent | 473512e10f5419e0028bb50fade873a3c04fe9f5 (diff) | |
| download | brew-9e6934d00c8cd8226e87c6fe639ec0a9b07ddd3b.tar.bz2 | |
brew-deps: improved --tree formatting
Closes Homebrew/homebrew#40018.
Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/deps.rb | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb index 2053cf22c..b08634fa2 100644 --- a/Library/Homebrew/cmd/deps.rb +++ b/Library/Homebrew/cmd/deps.rb @@ -1,3 +1,4 @@ +# encoding: UTF-8 require 'formula' require 'ostruct' @@ -63,18 +64,25 @@ module Homebrew def puts_deps_tree(formulae) formulae.each do |f| puts f.full_name - recursive_deps_tree(f, 1) + recursive_deps_tree(f, "") puts end end - def recursive_deps_tree f, level - f.requirements.select(&:default_formula?).each do |req| - puts "| "*(level-1) + "|- :#{req.to_dependency.name}" + def recursive_deps_tree f, prefix + reqs = f.requirements.select(&:default_formula?) + max = reqs.length - 1 + reqs.each_with_index do |req, i| + chr = i == max ? "└──" : "├──" + puts prefix + "#{chr} :#{req.to_dependency.name}" end - f.deps.default.each do |dep| - puts "| "*(level-1) + "|- #{dep.name}" - recursive_deps_tree(Formulary.factory(dep.name), level+1) + deps = f.deps.default + max = deps.length - 1 + deps.each_with_index do |dep, i| + chr = i == max ? "└──" : "├──" + prefix_ext = i == max ? " " : "| " + puts prefix + "#{chr} #{dep.name}" + recursive_deps_tree(Formulary.factory(dep.name), prefix + prefix_ext) end end end |
