brew/Library/Homebrew/cmd/leaves.rb

38 lines
725 B
Ruby
Raw Normal View History

require "formula"
require "tab"
2019-04-17 18:25:08 +09:00
require "cli/parser"
module Homebrew
2016-09-26 01:44:51 +02:00
module_function
2018-11-11 19:13:28 +05:30
def leaves_args
Homebrew::CLI::Parser.new do
usage_banner <<~EOS
`leaves`
Show installed formulae that are not dependencies of another installed formula.
EOS
switch :debug
end
end
def leaves
2018-11-11 19:13:28 +05:30
leaves_args.parse
installed = Formula.installed.sort
2018-03-25 12:43:04 +01:00
deps_of_installed = installed.flat_map do |f|
f.runtime_dependencies.map do |dep|
begin
dep.to_formula.full_name
rescue FormulaUnavailableError
dep.name
end
end
end
2018-03-25 12:43:04 +01:00
leaves = installed.map(&:full_name) - deps_of_installed
leaves.each(&method(:puts))
end
end