cmd/search: mark installed formulae
`brew search emacs`, with homebrew/emacs tapped: ``` real 0m2.586s user 0m1.138s sys 0m0.121s ``` Previously: ``` real 0m2.831s user 0m1.385s sys 0m0.087s ``` `brew search s`: ``` real 0m2.260s user 0m1.201s sys 0m0.114s ``` Previously: ``` real 0m5.953s user 0m4.827s sys 0m0.226s ``` Closes Homebrew/homebrew#35696. Closes Homebrew/homebrew#42662.
This commit is contained in:
parent
0f6d3b2923
commit
431ebba7af
@ -143,10 +143,15 @@ module Homebrew
|
|||||||
aliases = Formula.aliases
|
aliases = Formula.aliases
|
||||||
results = (Formula.full_names+aliases).grep(rx).sort
|
results = (Formula.full_names+aliases).grep(rx).sort
|
||||||
|
|
||||||
# Filter out aliases when the full name was also found
|
results.each_with_index do |name, i|
|
||||||
results.reject do |name|
|
|
||||||
canonical_name = Formulary.canonical_name(name)
|
canonical_name = Formulary.canonical_name(name)
|
||||||
aliases.include?(name) && results.include?(canonical_name)
|
# Remove aliases from results when the full name was also found
|
||||||
|
if aliases.include?(name) && results.include?(canonical_name)
|
||||||
|
results.delete_at(i)
|
||||||
|
# Notify the user if the formula is installed
|
||||||
|
elsif (HOMEBREW_CELLAR/canonical_name).directory?
|
||||||
|
results[i] = "#{name} (installed)"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user