cli
cli copied to clipboard
Heroku CLI Autocomplete does not respect `$ZSH_COMPDUMP` location for zsh.
Do you want to request a feature or report a bug?
This is a bug report.
- Heroku version:
heroku/7.59.2 darwin-x64 node-v12.21.0 - OS:
macOS Monterey 12.2.1
What is the current behavior?
After installing Heroku CLI Autocomplete by running heroku autocomplete and following the install instructions, a .zcompdump file will be created at $ZDOTDIR every time .zshrc is run, or at $HOME if $ZDOTDIR is not set.
This is because no -d option is given in ~/Library/Caches/heroku/autocomplete/zsh_setup (macOS), which is a file that is created by create.ts when running heroku autocomplete.
https://github.com/heroku/cli/blob/67b9080ad0b48e654d799bced119cbab768c759a/packages/autocomplete/src/commands/autocomplete/create.ts#L228-L229
What is the expected behavior?
If the environment variable $ZSH_COMPDUMP is set, the .zcompdump file should be created there instead of $ZDOTDIR or $HOME.
So if $ZSH_COMPDUMP exists, compinit -d "$ZSH_COMPDUMP"; should run instead of just compinit;.
A potential implementation for a fix would be replacing line 229 in with the following check:
if [[ -z "$ZSH_COMPDUMP" ]]; then
compinit;
else
compinit -d "$ZSH_COMPDUMP";
fi
This would not change any behavior for anyone without $ZSH_COMPDUMP set, and respects $ZSH_COMPDUMP for those who do.
I can submit a pull request with the proposed changes if that would be useful.