Broken autocomplete when installing CLI with homebrew on Linux
srcid opened this issue · 4 comments
Bug report
What is the current behavior?
The autocomplete is broken installing with homebrew on linux.
Steps to reproduce it
- brew tap heroku/brew && brew install heroku
- heroku
It will show up a grep error message saying the file $HOME/Library/Caches/heroku/autocomplete/commands
, which acctually don't.
What is the expected behavior?
It shoud autocomplete with options.
workaround
In the file /home/linuxbrew/.linuxbrew/share/zsh/site-functions/_heroku
edit this two follow env vars.
### Keep in sync with zsh shim
HEROKU_AC_ANALYTICS_DIR=$HOME/Library/Caches/heroku/autocomplete/completion_analytics;
HEROKU_AC_COMMANDS_PATH=$HOME/Library/Caches/heroku/autocomplete/commands;
Set it as bellow.
### Keep in sync with zsh shim
HEROKU_AC_ANALYTICS_DIR=$HOME/.cache/heroku/autocomplete/completion_analytics;
HEROKU_AC_COMMANDS_PATH=$HOME/.cache/heroku/autocomplete/commands;
I belive the path are set to MacOS folders installations. So, check for OSTYPE could fix the problem.
case "$OSTYPE" in
linux-gnu)
HEROKU_AC_ANALYTICS_DIR=$HOME/.cache/heroku/autocomplete/completion_analytics;
HEROKU_AC_COMMANDS_PATH=$HOME/.cache/heroku/autocomplete/commands;
;;
darwin)
HEROKU_AC_ANALYTICS_DIR=$HOME/Library/Caches/heroku/autocomplete/completion_analytics;
HEROKU_AC_COMMANDS_PATH=$HOME/Library/Caches/heroku/autocomplete/commands;
;;
esac
Heroku version: heroku/8.11.4 linux-x64 node-v16.20.2
SO: Ubuntu 22.04
Proxy: No proxy
Hello @srcid. Thanks for this report. Can you confirm your Linux distro and shell? I wasn't able to reproduce on Fedora / Bash, but reading through the issue I believe this might be a problem that effects only ZSH shell.
Hi @sbosio. Thank you for answering. I'm using Ubuntu 22.04 and ZSH as my main shell. I didn't test with bash because I don't think it could be related with the shell.
Thanks for the confirmation. I will create a work item for the team to address this installation bug under ZSH.
GUS Work Item for tracking purposes (Heroku internal).