heroku/cli

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

  1. brew tap heroku/brew && brew install heroku
  2. 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).