aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorAdam Vandenberg2014-05-16 08:47:09 -0700
committerAdam Vandenberg2014-05-16 09:03:12 -0700
commitd9ed121c4667c913b4bb8a664c54b2285f5a3046 (patch)
treeb3b64b4a4799d12946d66af5394a0b3da229837b /Library
parent99ebf05b9cf28ed7dbeb7114189b9cfbc4e5cf22 (diff)
downloadbrew-d9ed121c4667c913b4bb8a664c54b2285f5a3046.tar.bz2
add --installed to json info
Closes Homebrew/homebrew#29315.
Diffstat (limited to 'Library')
-rw-r--r--Library/Contributions/brew_bash_completion.sh2
-rw-r--r--Library/Contributions/manpages/brew.1.md5
-rw-r--r--Library/Homebrew/cmd/info.rb10
-rw-r--r--Library/Homebrew/formula.rb1
4 files changed, 14 insertions, 4 deletions
diff --git a/Library/Contributions/brew_bash_completion.sh b/Library/Contributions/brew_bash_completion.sh
index 61c81361f..7d3fc595f 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 563d072c2..21b839917 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 <formula>`.
- * `info --json=<version>` <formula>:
+ * `info --json=<version>` (--all|--installed|<formula>):
Print a JSON representation of <formula>. Currently the only accepted value
for <version> is `v1`.
+ Pass `--all` to get information on all formulae, or `--installed` to get
+ information on all installed formulae.
+
* `install [--debug] [--env=<std|super>] [--ignore-dependencies] [--only-dependencies] [--cc=<compiler>] [--build-from-source] [--devel|--HEAD]` <formula>:
Install <formula>.
diff --git a/Library/Homebrew/cmd/info.rb b/Library/Homebrew/cmd/info.rb
index 9deda9dfb..ef8e2ac52 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 d6a6f60e1..f0217bb74 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?