info: decorate deps to show installed status?

* shows green tick if installed or red cross if not
* only highlight dependency if HOMEBREW_NO_EMOJI is set

Closes Homebrew/homebrew#18922.

Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
This commit is contained in:
Colin Dean 2013-11-11 14:15:46 +00:00 committed by Mike McQuaid
parent f81ee0320b
commit 8939857600

View File

@ -122,7 +122,7 @@ module Homebrew extend self
ohai "Dependencies"
%w{build required recommended optional}.map do |type|
deps = f.deps.send(type)
puts "#{type.capitalize}: #{deps*', '}" unless deps.empty?
puts "#{type.capitalize}: #{decorate_dependencies deps}" unless deps.empty?
end
end
@ -136,6 +136,21 @@ module Homebrew extend self
ohai 'Caveats', c.caveats unless c.empty?
end
def decorate_dependencies dependencies
# necessary for 1.8.7 unicode handling since many installs are on 1.8.7
tick = Tty.green + ["2714".hex].pack("U*") + Tty.reset
cross = Tty.red + ["2718".hex].pack("U*") + Tty.reset
deps_status = dependencies.collect do |dep|
if ENV['HOMEBREW_NO_EMOJI']
"%s%s%s" % [(dep.installed? ? Tty.green : Tty.red), dep, Tty.reset]
else
"%s %s" % [dep, (dep.installed? ? tick : cross)]
end
end
deps_status * ", "
end
private
def valid_url u