44 lines
1023 B
Ruby
Raw Normal View History

require "cask/cask"
require "cask/cask_loader"
2018-06-13 07:49:01 +02:00
module Homebrew
module Search
2018-06-18 16:09:13 +02:00
module Extension
def search_descriptions(string_or_regex)
super
puts
ohai "Casks"
2018-09-06 08:29:14 +02:00
Cask::Cask.to_a.extend(Searchable)
.search(string_or_regex, &:name)
.each do |cask|
2018-06-18 16:09:13 +02:00
puts "#{Tty.bold}#{cask.token}:#{Tty.reset} #{cask.name.join(", ")}"
2018-06-13 07:49:01 +02:00
end
end
2018-06-18 16:09:13 +02:00
def search_casks(string_or_regex)
if string_or_regex.is_a?(String) && string_or_regex.match?(HOMEBREW_TAP_CASK_REGEX)
return begin
2018-09-06 08:29:14 +02:00
[Cask::CaskLoader.load(string_or_regex).token]
rescue Cask::CaskUnavailableError
2018-06-18 16:09:13 +02:00
[]
end
end
2018-06-13 07:49:01 +02:00
2018-09-06 08:29:14 +02:00
results = Cask::Cask.search(string_or_regex, &:token).sort_by(&:token)
2018-06-18 16:09:13 +02:00
results.map do |cask|
if cask.installed?
pretty_installed(cask.token)
else
cask.token
end
2018-06-13 07:49:01 +02:00
end
end
end
2018-06-18 16:09:13 +02:00
prepend Extension
2018-06-13 07:49:01 +02:00
end
end