blob: 77078e8f5d520e8f9b18d8101f29912eba5a489c (
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
33
34
35
36
37
38
39
40
|
require "descriptions"
require "cmd/search"
module Homebrew
def desc
if ARGV.options_only.empty?
if ARGV.named.empty?
raise FormulaUnspecifiedError
exit
end
results = Descriptions.named(ARGV.formulae.map(&:full_name))
else
if ARGV.options_only.count != 1
odie "Pick one, and only one, of -s/--search, -n/--name, or -d/--description."
end
search_arg = ARGV.options_only.first
search_type = case search_arg
when '-s', '--search'
:either
when '-n', '--name'
:name
when '-d', '--description'
:desc
else
odie "Unrecognized option '#{search_arg}'."
end
if arg = ARGV.named.first
regex = Homebrew::query_regexp(arg)
results = Descriptions.search(regex, search_type)
else
odie "You must provide a search term."
end
end
results.print unless results.nil?
end
end
|