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 '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
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user