Skip to content

Heroku CLI Autocomplete does not respect $ZSH_COMPDUMP location for zsh. #1956

@superatomic

Description

@superatomic

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.

autoload -Uz compinit;
compinit;

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions