diff options
| author | Jack Nagel | 2013-11-16 14:10:23 -0600 |
|---|---|---|
| committer | Jack Nagel | 2013-11-16 14:10:23 -0600 |
| commit | 4366b7956f068f2a582c7899187a4265912b6b39 (patch) | |
| tree | 1642d9afcbc1e08bf39ae572de7ff95e6f15c79d /Library | |
| parent | 6eef992741028820818cf1f50d6ee7f3f14bc7ff (diff) | |
| download | brew-4366b7956f068f2a582c7899187a4265912b6b39.tar.bz2 | |
Make brew-leaves respect optional deps
Diffstat (limited to 'Library')
| -rwxr-xr-x | Library/Contributions/cmd/brew-leaves.rb | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/Library/Contributions/cmd/brew-leaves.rb b/Library/Contributions/cmd/brew-leaves.rb index 75476d27b..b1296598b 100755 --- a/Library/Contributions/cmd/brew-leaves.rb +++ b/Library/Contributions/cmd/brew-leaves.rb @@ -4,11 +4,26 @@ require 'formula' require 'set' +require 'tab' +installed = Formula.installed deps_of_installed = Set.new -Formula.installed.each do |f| - deps_of_installed.merge f.deps.map(&:name) -end.each do |f| +installed.each do |f| + deps = [] + + f.deps.each do |dep| + if dep.optional? || dep.recommended? + tab = Tab.for_formula(f) + deps << dep.name if tab.with?(dep.name) + else + deps << dep.name + end + end + + deps_of_installed.merge(deps) +end + +installed.each do |f| puts f.name unless deps_of_installed.include? f.name end |
