From 9e6934d00c8cd8226e87c6fe639ec0a9b07ddd3b Mon Sep 17 00:00:00 2001 From: Baptiste Fontaine Date: Sat, 23 May 2015 16:07:10 +0200 Subject: [PATCH] brew-deps: improved --tree formatting Closes Homebrew/homebrew#40018. Signed-off-by: Baptiste Fontaine --- Library/Homebrew/cmd/deps.rb | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/Library/Homebrew/cmd/deps.rb b/Library/Homebrew/cmd/deps.rb index 2053cf22cd..b08634fa27 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