brew-deps: improved --tree formatting
Closes Homebrew/homebrew#40018. Signed-off-by: Baptiste Fontaine <batifon@yahoo.fr>
This commit is contained in:
parent
473512e10f
commit
9e6934d00c
@ -1,3 +1,4 @@
|
|||||||
|
# encoding: UTF-8
|
||||||
require 'formula'
|
require 'formula'
|
||||||
require 'ostruct'
|
require 'ostruct'
|
||||||
|
|
||||||
@ -63,18 +64,25 @@ module Homebrew
|
|||||||
def puts_deps_tree(formulae)
|
def puts_deps_tree(formulae)
|
||||||
formulae.each do |f|
|
formulae.each do |f|
|
||||||
puts f.full_name
|
puts f.full_name
|
||||||
recursive_deps_tree(f, 1)
|
recursive_deps_tree(f, "")
|
||||||
puts
|
puts
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def recursive_deps_tree f, level
|
def recursive_deps_tree f, prefix
|
||||||
f.requirements.select(&:default_formula?).each do |req|
|
reqs = f.requirements.select(&:default_formula?)
|
||||||
puts "| "*(level-1) + "|- :#{req.to_dependency.name}"
|
max = reqs.length - 1
|
||||||
|
reqs.each_with_index do |req, i|
|
||||||
|
chr = i == max ? "└──" : "├──"
|
||||||
|
puts prefix + "#{chr} :#{req.to_dependency.name}"
|
||||||
end
|
end
|
||||||
f.deps.default.each do |dep|
|
deps = f.deps.default
|
||||||
puts "| "*(level-1) + "|- #{dep.name}"
|
max = deps.length - 1
|
||||||
recursive_deps_tree(Formulary.factory(dep.name), level+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
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user