diff --git a/Library/Contributions/brew_bash_completion.sh b/Library/Contributions/brew_bash_completion.sh index 61c81361f3..7d3fc595fb 100644 --- a/Library/Contributions/brew_bash_completion.sh +++ b/Library/Contributions/brew_bash_completion.sh @@ -222,7 +222,7 @@ _brew_info () local cur="${COMP_WORDS[COMP_CWORD]}" case "$cur" in --*) - __brewcomp "--all --github --json=v1" + __brewcomp "--all --github --installed --json=v1" return ;; esac diff --git a/Library/Contributions/manpages/brew.1.md b/Library/Contributions/manpages/brew.1.md index 563d072c27..21b8399171 100644 --- a/Library/Contributions/manpages/brew.1.md +++ b/Library/Contributions/manpages/brew.1.md @@ -160,10 +160,13 @@ Note that these flags should only appear after a command. To view formula history locally: `brew log -p `. - * `info --json=` : + * `info --json=` (--all|--installed|): Print a JSON representation of . Currently the only accepted value for is `v1`. + Pass `--all` to get information on all formulae, or `--installed` to get + information on all installed formulae. + * `install [--debug] [--env=] [--ignore-dependencies] [--only-dependencies] [--cc=] [--build-from-source] [--devel|--HEAD]` : Install . diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb index 9deda9dfb8..ef8e2ac528 100644 --- a/Library/Homebrew/cmd/info.rb +++ b/Library/Homebrew/cmd/info.rb @@ -41,8 +41,14 @@ module Homebrew extend self end def print_json - formulae = ARGV.include?("--all") ? Formula : ARGV.formulae - json = formulae.map {|f| f.to_hash} + ff = if ARGV.include? "--all" + Formula + elsif ARGV.include? "--installed" + Formula.installed + else + ARGV.formulae + end + json = ff.map {|f| f.to_hash} if json.size == 1 puts Utils::JSON.dump(json.pop) else diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index d6a6f60e13..f0217bb742 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -369,6 +369,7 @@ class Formula include Enumerable end + # An array of all installed formulae def self.installed return [] unless HOMEBREW_CELLAR.directory? diff --git a/share/man/man1/brew.1 b/share/man/man1/brew.1 index 6ec2986b02..0632160d6b 100644 --- a/share/man/man1/brew.1 +++ b/share/man/man1/brew.1 @@ -177,9 +177,12 @@ Open a browser to the GitHub History page for formula \fIformula\fR\. To view formula history locally: \fBbrew log \-p \fR\. . .TP -\fBinfo \-\-json=\fR \fIformula\fR +\fBinfo \-\-json=\fR (\-\-all|\-\-installed|\fIformula\fR) Print a JSON representation of \fIformula\fR\. Currently the only accepted value for \fIversion\fR is \fBv1\fR\. . +.IP +Pass \fB\-\-all\fR to get information on all formulae, or \fB\-\-installed\fR to get information on all installed formulae\. +. .TP \fBinstall [\-\-debug] [\-\-env=] [\-\-ignore\-dependencies] [\-\-only\-dependencies] [\-\-cc=] [\-\-build\-from\-source] [\-\-devel|\-\-HEAD]\fR \fIformula\fR Install \fIformula\fR\.