ignore non-alpha search chars; accept multi terms

This commit is contained in:
Roland Walker 2014-01-20 00:14:50 -05:00
parent 68ff7b47a4
commit 212dc25941
1 changed files with 4 additions and 4 deletions

View File

@ -1,14 +1,14 @@
class Cask::CLI::Search
def self.run(*arguments)
search_term, *rest = *arguments
search_term = arguments.join
cask_names = {}
if search_term =~ %r{^/(.*)/$}
if arguments.first =~ %r{^/(.*)/$}
search_regexp = $1
cask_names = Cask.all_titles.grep(/#{search_regexp}/i)
else
all_titles = Cask.all_titles
simplified_titles = all_titles.map { |t| t.gsub('-', '') }
simplified_search_term = search_term.gsub('-', '')
simplified_titles = all_titles.map { |t| t.gsub(/[^a-z]+/i, '') }
simplified_search_term = search_term.gsub(/[^a-z]+/i, '')
cask_names = simplified_titles.grep(/#{simplified_search_term}/i) { |t| all_titles[simplified_titles.index(t)] }
end
unless cask_names.empty?