Skip to content

Bug: [sdkman-init.sh interferes/breaks gcp cloud/kubectl zsh completions] #947

@andrewrembrandt

Description

@andrewrembrandt

Bug report
When using gcloud sdk & kubectl zsh completions, the sdkman-init.sh appears to remove or break those completions (i.e. they fail to work).
(also using the ohmyzsh sdkman & kubectl plugins)

Moving the sdkman-init.sh call to before the gcloud sdk & kubectl completion ensures completions for all works correctly.

To reproduce
Place the following in .zshrc:

<snip - ohmyzsh defaults>
plugins=(
  git
  ripgrep
  vi-mode
  zsh-sdkman
  kubectl
)
</snip>

# The next line updates PATH for the Google Cloud SDK.
if [ -f '/home/******/share/gcloud/path.zsh.inc' ]; then . '/home/*******/share/gcloud/path.zsh.inc'; fi

# The next line enables shell command completion for gcloud.
if [ -f '/home/******/share/gcloud/completion.zsh.inc' ]; then . '/home/******/share/gcloud/completion.zsh.inc'; fi

# Completions for kubectl
(( $+commands[kubectl] )) && source <(kubectl completion zsh)


#THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!!
#export SDKMAN_DIR="/home/*******/.sdkman"
[[ -s "/home/********/.sdkman/bin/sdkman-init.sh" ]] && source "/home/*******/.sdkman/bin/sdkman-init.sh"

System info

  • Arch Linux (kernel 5.13.6)
  • zsh 5.8.1
  • zsh-completions 0.33.0-1
  • oh-my-zsh r6081.5377cc37c-1
  • gcloud sdk 349.0.0
  • kubectl 1.18.18

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions