- Instead use class methods.
- This is better than use it as a mixin
when only a small number of methods are
used in each class or module.
- It also allows us to conditionally
require it in `brew install`.
- Removed unused search require in descriptions.rb.
- Move cask logic back into method from extend/os and check
whether to display it based on args since formula?
is passed by default on Linux now
- Use #search_descriptions in `brew desc` instead of
duplicating logic
- Remove need for extend/os/search
Now the search_name method takes the command line
args and only returns package types that line up
with those args.
That means it will only return casks if casks are valid
and same with formulae.
- provide specific install instructions
when a cask/formula doesn't exist
and we search for similar ones
- print and exit early if a named formula that
was removed recently has the same name
- exit early if the tap is specified because
we don't get good search results
- Move `search_names` and `print_missing_formula_help` out of `cmd/search.rb` to `search.rb`
- Change to using those functions in `cmd/install.rb` when a formula or cask doesn't exist
This makes use of both the existing interfaces and could use the
existing cache file but we'll create a new one and cleanup the old one
to avoid issues and use a more consistent name.