From 4c484ec6cb7bd19f3d86e442b0d8aedec32a34e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?fn=20=E2=8C=83=20=E2=8C=A5?= <70830482+FnControlOption@users.noreply.github.com> Date: Wed, 3 Nov 2021 16:47:22 -0700 Subject: [PATCH] search: optimize cask search --- Library/Homebrew/extend/os/mac/search.rb | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/extend/os/mac/search.rb b/Library/Homebrew/extend/os/mac/search.rb index bd188a2425..a2f2af139b 100644 --- a/Library/Homebrew/extend/os/mac/search.rb +++ b/Library/Homebrew/extend/os/mac/search.rb @@ -31,9 +31,16 @@ module Homebrew end end - results = Cask::Cask.search(string_or_regex, &:token).sort_by(&:token) + cask_tokens = Tap.flat_map(&:cask_tokens) - results.map do |cask| + results = cask_tokens.extend(Searchable) + .search(string_or_regex) + + results |= DidYouMean::SpellChecker.new(dictionary: cask_tokens) + .correct(string_or_regex) + + results.sort.map do |name| + cask = Cask::CaskLoader.load(name) if cask.installed? pretty_installed(cask.token) else