Fixes#5839
- Eliminate reliance on external utility calls for cache invalidation
- Update cache policy to also invalidate if cache file is >=2 weeks old or if
tap indexes are non-existent
- Do not override any cache policy the user might already have set
- Handle default cache policy determination as early as possible to ensure that
a default is set appropriately for all helpers (this will mostly be useful if
other helpers need caching in the future)
Remove pending tests that are never run on CI (i.e. require `--online`),
remove fixtures for those tests and just make `--official-cmd-taps`
run by `--online` instead.
This is a full rewrite of the zsh completion based on the changes we
made to support external commands. A function for each brew command
handles only that command's arguments. The main completion function
dispatches the completion flow to the correct function. This
generically works with both internal and external commands.
This change includes all arguments for all internal brew commands.
Some commands are missing argument documentation due to missing help
docs.