shellenv: Add zsh site-functions to fpath
#18524
Open
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
brew style
with your changes locally?brew typecheck
with your changes locally?brew tests
with your changes locally?This PR adds the brew zsh site-functions directory to the fpath during
brew shellenv
, allowing us to enable completions in one line instead of the seven currently suggested on the Shell Completions page.The shell-completions documentations page states we don't do this by default because managing completions is complex. This is true, however, I still think it's fair to pick the low-hanging-fruit on behalf of the user; many installations already call
compinit
on their behalf, and by including the homebrew fpath we can give those users completions for free. Remaining users only need to call compinit (assuming they have shellenv already setup).If this gets accepted, I can make another PR to update the docs, suggesting users eval the shellenv command instead of the manual fpath manipulation instructions.
For the implementation itself, I made a few design choices for backwards compatibility (documented in the commit description), but I'm flexible if someone prefers it another way.