#compdef sops ## based on https://github.com/urfave/cli/blob/v2.3.0/autocomplete/zsh_autocomplete _cli_zsh_autocomplete() { local -a opts local cur cur=${words[-1]} if [[ "$cur" == "-"* ]]; then opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} ${cur} --generate-bash-completion)}") else opts=("${(@f)$(_CLI_ZSH_AUTOCOMPLETE_HACK=1 ${words[@]:0:#words[@]-1} --generate-bash-completion)}") fi if [[ "${opts[1]}" != "" ]]; then _describe 'values' opts else _files fi # A special case - when no options is specified, sops enters editing mode for the given filename if [[ ${#words[@]} == 2 ]]; then _files fi return } compdef _cli_zsh_autocomplete sops