| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- #!/bin/zsh
- _lazy_load_completion() {
- local cmd="$1"
- local completion_cmd="$2"
- eval "${cmd}() {
- unfunction $cmd
- eval \"\$($completion_cmd)\"
- $cmd \"\$@\"
- }"
- }
- for completion_file in ~/.local/share/zsh/*-autocomplete.zsh(N); do
- if [ -f "$completion_file" ]; then
- source "$completion_file"
- fi
- done
- # Use 'which' instead of 'command -v' for faster checks (as per optimization article)
- if which eza >/dev/null 2>&1; then
- compdef _ls eza
- fi
- if which kubefwd >/dev/null 2>&1; then
- _lazy_load_completion kubefwd "kubefwd completion zsh"
- fi
- if which bombadil >/dev/null 2>&1; then
- _lazy_load_completion bombadil "bombadil generate-completions zsh"
- fi
- if which rop >/dev/null 2>&1; then
- eval "$(rop completion zsh)"
- fi
- if which goq >/dev/null 2>&1; then
- eval "$(goq completion zsh)"
- fi
- if which drop >/dev/null 2>&1; then
- eval "$(drop completion zsh)"
- fi
- _lazy_load() {
- local cmd="$1"
- local loader="$2"
- eval "${cmd}() {
- unfunction $cmd
- eval \"\$($loader)\"
- $cmd \"\$@\"
- }"
- }
- _lazy_load kubectl "kubectl completion zsh"
|