aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd/missing.rb
blob: 707ad683455814079e55d1a9f2fd96d9bb111056 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#:  * `missing` [`--hide=`<hidden>] [<formulae>]:
#:    Check the given <formulae> for missing dependencies. If no <formulae> are
#:    given, check all installed brews.
#:
#:    If `--hide=`<hidden> is passed, act as if none of <hidden> are installed.
#:    <hidden> should be a comma-separated list of formulae.

require "formula"
require "tab"
require "diagnostic"

module Homebrew
  module_function

  def missing
    return unless HOMEBREW_CELLAR.exist?

    ff = if ARGV.named.empty?
      Formula.installed.sort
    else
      ARGV.resolved_formulae.sort
    end

    ff.each do |f|
      missing = f.missing_dependencies(hide: ARGV.values("hide"))
      next if missing.empty?

      print "#{f}: " if ff.size > 1
      puts missing.join(" ")
    end
  end
end