Enabling shell autocompletion

The Kubebuilder completion script can be generated with the command kubebuilder completion [bash|fish|powershell|zsh]. Note that sourcing the completion script in your shell enables Kubebuilder autocompletion.

Bash

  • Check that bash is an available shell:

    cat /etc/shells | grep '^.*/bash'
    
  • If not, add bash to /etc/shells. For example, if bash is at /usr/local/bin/bash:

    echo "/usr/local/bin/bash" >> /etc/shells
    
  • Make sure the current user uses bash as their shell.

    chsh -s /usr/local/bin/bash
    
  • Add following content to ~/.bash_profile or ~/.bashrc

    # kubebuilder autocompletion
    if [ -f /usr/local/share/bash-completion/bash_completion ]; then
        . /usr/local/share/bash-completion/bash_completion
    fi
        . <(kubebuilder completion bash)
    
  • Restart terminal for the changes to be reflected or source the changed bash file.

    . ~/.bash_profile
    

Zsh

Follow a similar protocol for zsh completion.

Fish

source (kubebuilder completion fish | psub)