require 'formula' module Homebrew def options if ARGV.include? '--all' puts_options Formula.to_a elsif ARGV.include? '--installed' puts_options Formula.installed else raise FormulaUnspecifiedError if ARGV.named.empty? puts_options ARGV.formulae end end def puts_options(formulae) formulae.each do |f| next if f.options.empty? if ARGV.include? '--compact' puts f.options.as_flags.sort * " " else puts f.name if formulae.length > 1 dump_options_for_formula f puts end end end def dump_options_for_formula f f.options.sort_by(&:flag).each do |opt| puts "#{opt.flag}\n\t#{opt.description}" end puts "--devel\n\tinstall development version #{f.devel.version}" if f.devel puts "--HEAD\n\tinstall HEAD version" if f.head end end