desc: print short name unless multiple formulae have the same name
This commit is contained in:
parent
a8be17df57
commit
abff8a0cc8
@ -1,3 +1,4 @@
|
|||||||
|
require "set"
|
||||||
require "formula"
|
require "formula"
|
||||||
require "formula_versions"
|
require "formula_versions"
|
||||||
|
|
||||||
@ -123,9 +124,22 @@ class Descriptions
|
|||||||
# print them.
|
# print them.
|
||||||
def print
|
def print
|
||||||
blank = "#{Tty.yellow}[no description]#{Tty.reset}"
|
blank = "#{Tty.yellow}[no description]#{Tty.reset}"
|
||||||
@descriptions.keys.sort.each do |name|
|
@descriptions.keys.sort.each do |full_name|
|
||||||
description = @descriptions[name] || blank
|
short_name = short_names[full_name]
|
||||||
puts "#{Tty.white}#{name}:#{Tty.reset} #{description}"
|
printed_name = short_name_counts[short_name] == 1 ? short_name : full_name
|
||||||
|
description = @descriptions[full_name] || blank
|
||||||
|
puts "#{Tty.white}#{printed_name}:#{Tty.reset} #{description}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def short_names
|
||||||
|
@short_names ||= Hash[@descriptions.keys.map { |k| [k, k.split("/").last] }]
|
||||||
|
end
|
||||||
|
|
||||||
|
def short_name_counts
|
||||||
|
@short_name_counts ||=
|
||||||
|
short_names.values.reduce(Hash.new(0)) { |counts, name| counts[name] += 1; counts }
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user